name: ci on: schedule: - cron: '0 10 * * *' # everyday at 10am push: branches: - 'master' - 'releases/v*' tags: - 'v*' pull_request: branches: - 'master' - 'releases/v*' jobs: ci: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: - ubuntu-latest - macOS-latest - windows-latest version: - latest - v0.145.0 steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.15 - name: Check uses: ./ with: version: ${{ matrix.version }} args: check --debug - name: GoReleaser uses: ./ with: version: ${{ matrix.version }} args: release --skip-publish --rm-dist install-only: runs-on: ubuntu-latest strategy: fail-fast: false matrix: version: - latest - v0.145.0 steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.15 - name: GoReleaser uses: ./ with: version: ${{ matrix.version }} install-only: true - name: Check run: | goreleaser check --debug signing: runs-on: ${{ matrix.os }} if: github.event_name != 'pull_request' strategy: fail-fast: false matrix: os: - ubuntu-latest - macOS-latest - windows-latest steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.15 - name: Import GPG key id: import_gpg uses: crazy-max/ghaction-import-gpg@v3 with: gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY_TEST }} passphrase: ${{ secrets.PASSPHRASE_TEST }} - name: Check uses: ./ with: version: latest args: -f .goreleaser-signing.yml check --debug env: GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }} - name: GoReleaser uses: ./ with: version: latest args: -f .goreleaser-signing.yml release --skip-publish --rm-dist env: GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }} upload-artifact: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.15 - name: Check uses: ./ with: args: check --debug - name: GoReleaser uses: ./ with: args: release --skip-publish --rm-dist - name: Upload assets uses: actions/upload-artifact@v2 with: name: myapp path: dist/*