ci(task): refactor task file and remove makefile #2972
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: read-all | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| ci: | |
| runs-on: ${{ vars.CI_RUNNERS || 'ubuntu-latest' }} | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Cleanup Disk | |
| if: vars.CI_RUNNERS == '' || vars.CI_RUNNERS == 'ubuntu-latest' | |
| uses: jlumbroso/free-disk-space@v1.3.1 | |
| with: | |
| android: true | |
| dotnet: true | |
| haskell: true | |
| tool-cache: true | |
| large-packages: false | |
| swap-storage: false | |
| - name: Cleanup docker cache | |
| if: vars.CI_RUNNERS == '' || vars.CI_RUNNERS == 'ubuntu-latest' | |
| run: | | |
| echo "-------------Disk info before cleanup----------------" | |
| df -h | |
| echo "-----------------------------------------------------" | |
| docker system prune -a -f | |
| echo "-------------Disk info after cleanup----------------" | |
| df -h | |
| echo "-----------------------------------------------------" | |
| - name: Checkout | |
| uses: actions/checkout@v7.0.1 | |
| # We need the full history for the commitlint task | |
| with: | |
| fetch-depth: 0 | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Install Task | |
| uses: arduino/setup-task@v3.0.0 | |
| - name: Install Dagger | |
| env: | |
| # renovate: datasource=github-tags depName=dagger/dagger versioning=semver | |
| DAGGER_VERSION: 0.21.8 | |
| run: | | |
| curl -L https://dl.dagger.io/dagger/install.sh | BIN_DIR=$HOME/.local/bin sh | |
| - name: Run CI task | |
| run: | | |
| task all:ci | |
| publish: | |
| runs-on: ${{ vars.CI_RUNNERS || 'ubuntu-latest' }} | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7.0.1 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Install QEMU static binaries | |
| uses: docker/setup-qemu-action@v4 | |
| - name: Install Task | |
| uses: arduino/setup-task@v3.0.0 | |
| - name: Install Dagger | |
| env: | |
| # renovate: datasource=github-tags depName=dagger/dagger versioning=semver | |
| DAGGER_VERSION: 0.21.8 | |
| run: | | |
| curl -L https://dl.dagger.io/dagger/install.sh | BIN_DIR=$HOME/.local/bin sh | |
| - name: Write manifest | |
| run: | | |
| task core:manifest | |
| - name: Publish images | |
| if: | | |
| github.event_name == 'workflow_dispatch' || | |
| github.event.pull_request.head.repo.full_name == github.repository | |
| env: | |
| REGISTRY_USER: ${{ github.actor }} | |
| REGISTRY_PASSWORD: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| task core:publish | |
| - name: Attach manifest to workflow run | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: manifest.yaml | |
| path: ./manifest.yaml | |
| integration-tests: | |
| name: Integration Tests | |
| runs-on: ${{ vars.CI_RUNNERS || 'ubuntu-latest' }} | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Cleanup Disk | |
| if: vars.CI_RUNNERS == '' || vars.CI_RUNNERS == 'ubuntu-latest' | |
| uses: jlumbroso/free-disk-space@v1.3.1 | |
| with: | |
| android: true | |
| dotnet: true | |
| haskell: true | |
| tool-cache: true | |
| large-packages: false | |
| swap-storage: false | |
| - name: Cleanup docker cache | |
| if: vars.CI_RUNNERS == '' || vars.CI_RUNNERS == 'ubuntu-latest' | |
| run: | | |
| docker system prune -a -f | |
| - name: Checkout plugin-barman-cloud | |
| uses: actions/checkout@v7.0.1 | |
| with: | |
| fetch-depth: 0 | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Checkout CloudNativePG | |
| uses: actions/checkout@v7.0.1 | |
| with: | |
| repository: cloudnative-pg/cloudnative-pg | |
| path: cloudnativepg | |
| fetch-depth: 0 | |
| - name: Install Task | |
| uses: arduino/setup-task@v3.0.0 | |
| - name: Install Dagger | |
| env: | |
| # renovate: datasource=github-tags depName=dagger/dagger versioning=semver | |
| DAGGER_VERSION: 0.21.8 | |
| run: | | |
| curl -L https://dl.dagger.io/dagger/install.sh | BIN_DIR=$HOME/.local/bin sh | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: cloudnativepg/go.mod | |
| - name: Start Kind cluster | |
| id: kind-cluster | |
| working-directory: cloudnativepg | |
| run: | | |
| hack/setup-cluster.sh create load deploy | |
| CLUSTERS=$(kind get clusters) | |
| echo "clusters=$CLUSTERS" >> "$GITHUB_OUTPUT" | |
| - name: Run integration tests | |
| env: | |
| KIND_CLUSTER_NAME: ${{ steps.kind-cluster.outputs.clusters }} | |
| run: | | |
| task integration:e2e |