name: ci on: push: branches: [ "develop", "main" ] pull_request: branches: [ "develop", "main" ] permissions: contents: read jobs: build: runs-on: ubuntu-latest strategy: matrix: goVer: ['1.23', '1.24'] steps: - name: Harden the runner (Audit all outbound calls) uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0 with: egress-policy: audit - name: Checkout Repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Set up Go uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version: ${{ matrix.goVer }} - name: Test with Coverage if: ${{ matrix.goVer == '1.24' }} run: go test -coverpkg=./... -v -short -race -coverprofile=coverage1.txt -covermode=atomic ./... env: GODEBUG: x509sha1=1 - name: Test Generic with Coverage if: ${{ matrix.goVer == '1.24' }} run: go test -coverpkg=./... -v -short -tags purego -coverprofile=coverage2.txt -covermode=atomic ./... env: GODEBUG: x509sha1=1 - name: Upload coverage to Codecov if: ${{ matrix.goVer == '1.24' }} uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0 with: files: ./coverage1.txt,./coverage2.txt env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: Test Force SM4 Single Block with AES-NI run: go test -short ./sm4/... env: FORCE_SM4BLOCK_AESNI: 1 - name: Test only if: ${{ matrix.goVer != '1.24' }} run: go test -short ./... env: GODEBUG: x509sha1=1 - name: Test Generic only if: ${{ matrix.goVer != '1.24' }} run: go test -short -tags purego ./... env: GODEBUG: x509sha1=1 - name: Test Plugin only if: ${{ matrix.goVer == '1.24' }} run: go test -short -tags plugin ./... env: GODEBUG: x509sha1=1