name: "Test Integration" on: push: branches: [main] paths: - '**.sh' - '**.bash' - '**.go' - '**.cue' - 'Makefile' - 'go.mod' - 'go.sum' - '.github/workflows/test-integration.yml' pull_request: branches: [main] paths: - '**.sh' - '**.bash' - '**.go' - '**.cue' - 'Makefile' - 'go.mod' - 'go.sum' - '.github/workflows/test-integration.yml' jobs: test-integration: name: "Integration Tests" runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: "Check out" uses: actions/checkout@v2 - name: "Setup Go" uses: actions/setup-go@v1 with: go-version: 1.16 - name: "Install CUE" run: | export CUE_VERSION="$(grep cue ./go.mod | cut -d' ' -f2 | head -1 | sed -E 's/\.[[:digit:]]\.[[:alnum:]]+-[[:alnum:]]+$//')" export CUE_TARBALL="cue_${CUE_VERSION}_linux_amd64.tar.gz" echo "Installing cue version $CUE_VERSION" curl -L https://github.com/cue-lang/cue/releases/download/${CUE_VERSION}/${CUE_TARBALL} | sudo tar zxf - -C /usr/local/bin - name: "Install SOPS" run: | # SOPS sudo curl -L -o /usr/local/bin/sops https://github.com/mozilla/sops/releases/download/v3.7.1/sops-v3.7.1.linux sudo chmod +x /usr/local/bin/sops - name: "Import Dagger private key" env: DAGGER_AGE_KEY: ${{ secrets.DAGGER_AGE_KEY }} run: | mkdir -p ~/.config/dagger echo "$DAGGER_AGE_KEY" > ~/.config/dagger/keys.txt - name: "Expose GitHub Runtime" uses: crazy-max/ghaction-github-runtime@v1 - name: Test env: DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} # TODO: https://github.com/dagger/dagger/pull/1341 # DAGGER_CACHE_TO: "type=gha,mode=max,scope=test-integration" # DAGGER_CACHE_FROM: "type=gha,mode=max,scope=test-integration" run: | env make core-integration