diff options
Diffstat (limited to '.github/workflows/pipeline.yml')
-rw-r--r-- | .github/workflows/pipeline.yml | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml deleted file mode 100644 index 7778ef9..0000000 --- a/.github/workflows/pipeline.yml +++ /dev/null @@ -1,180 +0,0 @@ -name: 'app-pipeline' -on: - push: - pull_request: - types: [ opened, reopened ] -env: - DOCKER_CLI_VERSION: "19.03.1" -jobs: - unit-test: - strategy: - matrix: - go-version: [1.19.x] - # todo: support windows - platform: [ubuntu-latest, macos-latest] - # platform: [ubuntu-latest, macos-latest, windows-latest] - runs-on: ${{ matrix.platform }} - steps: - - - uses: actions/setup-go@v1 - with: - go-version: ${{ matrix.go-version }} - - - uses: actions/checkout@v1 - - - name: Cache go dependencies - id: unit-cache-go-dependencies - uses: actions/cache@v1 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }} - restore-keys: ${{ runner.os }}-go-${{ matrix.go-version }}- - - - name: Install go dependencies - if: steps.unit-cache-go-dependencies.outputs.cache-hit != 'true' - run: go get ./... - - - name: Test - run: make ci-unit-test - - build-artifacts: - runs-on: ubuntu-latest - steps: - - uses: actions/setup-go@v1 - with: - go-version: '1.19.x' - - - uses: actions/checkout@v1 - - - name: Install tooling - run: | - make ci-install-go-tools - make ci-install-ci-tools - - - name: Cache go dependencies - id: package-cache-go-dependencies - uses: actions/cache@v1 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-prod-${{ hashFiles('**/go.sum') }} - restore-keys: ${{ runner.os }}-go-prod- - - - name: Install dependencies - if: steps.package-cache-go-dependencies.outputs.cache-hit != 'true' - run: go get ./... - - - name: Linting, formatting, and other static code analyses - run: make ci-static-analysis - - - name: Build snapshot artifacts - run: make ci-build-snapshot-packages - - - run: docker images wagoodman/dive - - # todo: compare against known json output in shared volume - - name: Test production image - run: make ci-test-production-image - - - uses: actions/upload-artifact@master - with: - name: artifacts - path: dist - - - test-linux-artifacts: - needs: [ build-artifacts ] - runs-on: ubuntu-latest - steps: - - - uses: actions/checkout@master - - - uses: actions/download-artifact@master - with: - name: artifacts - path: dist - - - name: Test linux run - run: make ci-test-linux-run - - - name: Test DEB package installation - run: make ci-test-deb-package-install - - - name: Test RPM package installation - run: make ci-test-rpm-package-install - - - test-mac-artifacts: - needs: [ build-artifacts ] - runs-on: macos-latest - steps: - - - uses: actions/checkout@master - - - uses: actions/download-artifact@master - with: - name: artifacts - path: dist - - - name: Test darwin run - run: make ci-test-mac-run - - - test-windows-artifacts: - needs: [ build-artifacts ] - runs-on: windows-latest - steps: - - - uses: actions/checkout@master - - - uses: actions/download-artifact@master - with: - name: artifacts - path: dist - - - name: Test windows run - run: make ci-test-windows-run - - - release: - needs: [ unit-test, build-artifacts, test-linux-artifacts, test-mac-artifacts, test-windows-artifacts ] - runs-on: ubuntu-latest - if: startsWith(github.ref, 'refs/tags/v') - steps: - - - uses: actions/setup-go@v1 - with: - go-version: '1.19.x' - - - uses: actions/checkout@v1 - - - name: Install tooling - run: make ci-install-ci-tools - - - name: Cache go dependencies - id: release-cache-go-dependencies - uses: actions/cache@v1 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-prod-${{ hashFiles('**/go.sum') }} - restore-keys: ${{ runner.os }}-go-prod- - - - name: Install dependencies - if: steps.release-cache-go-dependencies.outputs.cache-hit != 'true' - run: go get ./... - - - name: Docker login - run: make ci-docker-login - env: - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - - - name: Publish GitHub release - run: make ci-release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Docker logout - run: make ci-docker-logout - - - name: Smoke test published image - run: make ci-test-production-image |