name: ci on: push: branches: [ go_1.18 ] pull_request: branches: [ go_1.18 ] jobs: build: runs-on: ubuntu-latest strategy: matrix: goVer: ['1.18', '1.19', '1.21', '1.22', '1.23'] steps: - name: Checkout Repo uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version: ${{ matrix.goVer }} - name: Test with Coverage if: ${{ matrix.goVer == '1.18' }} 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.18' }} 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.18' }} uses: codecov/codecov-action@v5 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.18' }} run: go test -short ./... env: GODEBUG: x509sha1=1 - name: Test Generic only if: ${{ matrix.goVer != '1.18' && matrix.goVer != '1.23' }} run: go test -short -tags purego ./... env: GODEBUG: x509sha1=1 - name: Test Plugin only if: ${{ matrix.goVer != '1.18' }} run: go test -short -tags plugin ./... env: GODEBUG: x509sha1=1