name: End-to-end tests on: pull_request: push: branches: - main - release-*.*.* concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} permissions: {} jobs: build-grafana: name: Build & Package Grafana runs-on: ubuntu-latest-16-cores permissions: contents: read outputs: artifact: ${{ steps.artifact.outputs.artifact }} steps: - uses: actions/checkout@v4 with: repository: 'grafana/grafana-build' ref: 'main' persist-credentials: false - uses: actions/checkout@v4 with: path: ./grafana persist-credentials: false - run: echo "GRAFANA_GO_VERSION=$(grep "go 1." grafana/go.work | cut -d\ -f2)" >> "$GITHUB_ENV" - uses: dagger/dagger-for-github@e47aba410ef9bb9ed81a4d2a97df31061e5e842e with: verb: run args: go run ./cmd artifacts -a targz:grafana:linux/amd64 --grafana-dir=grafana --go-version=${GRAFANA_GO_VERSION} > out.txt - run: mv "$(cat out.txt)" grafana.tar.gz - run: echo "artifact=grafana-e2e-${{github.run_number}}" >> "$GITHUB_OUTPUT" id: artifact - uses: actions/upload-artifact@v4 id: upload with: retention-days: 1 name: ${{ steps.artifact.outputs.artifact }} path: grafana.tar.gz e2e-matrix: permissions: contents: read name: ${{ matrix.suite }} strategy: fail-fast: false matrix: suite: - various-suite - dashboards-suite - smoke-tests-suite - panels-suite needs: - build-grafana uses: ./.github/workflows/run-e2e-suite.yml with: package: ${{ needs.build-grafana.outputs.artifact }} suite: ${{ matrix.suite }} e2e-matrix-old-arch: permissions: contents: read name: ${{ matrix.suite }} (old arch) strategy: fail-fast: false matrix: suite: - old-arch/various-suite - old-arch/dashboards-suite - old-arch/smoke-tests-suite - old-arch/panels-suite needs: - build-grafana uses: ./.github/workflows/run-e2e-suite.yml with: package: ${{ needs.build-grafana.outputs.artifact }} suite: ${{ matrix.suite }}