ci: remove .matrix.include.runs.history #672
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: GitHub CI | |
| on: | |
| pull_request: | |
| branches-ignore: | |
| - next | |
| paths-ignore: | |
| - examples | |
| - Dockerfile.template | |
| - LICENSE | |
| - README.md | |
| - SECURITY.md | |
| - Containerfile.debug | |
| - Containerfile.debug-ubi | |
| push: | |
| branches-ignore: | |
| - next | |
| paths-ignore: | |
| - examples | |
| - Dockerfile.template | |
| - LICENSE | |
| - README.md | |
| - SECURITY.md | |
| - Containerfile.debug | |
| - Containerfile.debug-ubi | |
| defaults: | |
| run: | |
| shell: "bash -Eeuo pipefail -x {0}" | |
| jobs: | |
| checks: | |
| name: Checks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Run ShellCheck | |
| uses: ludeeus/action-shellcheck@master | |
| with: | |
| ignore_paths: initdb.d | |
| ignore_names: generate-stackbrew-library.sh | |
| - name: Run Hadolint | |
| uses: hadolint/[email protected] | |
| with: | |
| dockerfile: Dockerfile.template | |
| generate-jobs: | |
| name: Generate Jobs | |
| runs-on: ubuntu-latest | |
| outputs: | |
| strategy: ${{ steps.generate-jobs.outputs.strategy }} | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| persist-credentials: false | |
| - uses: docker-library/[email protected] | |
| - id: generate-jobs | |
| name: Generate Jobs | |
| run: | | |
| sed -i '/"platform"/c"platform": "{{- range $index, $arch := $e.Architectures }}{{ if $index }},{{ end }}{{- if eq $arch "arm64v8" }}linux/arm64/v8{{- else }}linux/{{$arch}}{{- end }}{{- end }}"' "$BASHBREW_SCRIPTS/github-actions/generate.sh" | |
| strategy="$(GITHUB_REPOSITORY='mariadb' "$BASHBREW_SCRIPTS/github-actions/generate.sh" | jq -c '.matrix.include |= map(.meta.entries[0].tags[0] as $tag | .runs.mariadbtest = "./.test/run.sh " + $tag | del(.runs.history))')" | |
| echo "strategy=$strategy" >> "$GITHUB_OUTPUT" | |
| jq . <<<"$strategy" # sanity check / debugging aid | |
| test: | |
| needs: generate-jobs | |
| strategy: ${{ fromJson(needs.generate-jobs.outputs.strategy) }} | |
| name: ${{ matrix.name }} | |
| runs-on: ${{ matrix.os }} | |
| env: | |
| DEPLOY_IMAGES: false | |
| steps: | |
| - uses: docker/[email protected] | |
| - uses: actions/checkout@v3 | |
| with: | |
| persist-credentials: false | |
| - name: Check for registry credentials | |
| if: github.repository == 'MariaDB/mariadb-docker' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/fips_test') | |
| run: | | |
| missing=() | |
| [[ -n "${{ secrets.MARIADB_OPERATOR_TOKEN }}" ]] || missing+=(MARIADB_OPERATOR_TOKEN) | |
| for i in "${missing[@]}"; do | |
| echo "Missing github secret: $i" | |
| done | |
| if (( ${#missing[@]} == 0 )); then | |
| echo "DEPLOY_IMAGES=true" >> $GITHUB_ENV | |
| else | |
| echo "Not pushing images to registry or doing operator test" | |
| fi | |
| - name: Prepare Environment | |
| run: ${{ matrix.runs.prepare }} | |
| - name: Pull Dependencies | |
| run: ${{ matrix.runs.pull }} | |
| - name: Build ${{ matrix.name }} | |
| run: | | |
| export DOCKER_BUILDKIT=1 | |
| export BASHBREW_BUILDKIT_SYNTAX=docker/dockerfile:1 | |
| docker buildx ls | |
| docker buildx create --use --name multi-builder | |
| docker buildx ls | |
| ${{ matrix.runs.build }} | |
| - name: History ${{ matrix.name }} | |
| run: ${{ matrix.runs.history }} | |
| - name: Test ${{ matrix.name }} | |
| run: ${{ matrix.runs.test }} | |
| - name: Extra MariaDB Tests ${{ matrix.name }} | |
| run: ${{ matrix.runs.mariadbtest }} | |
| - name: '"docker images"' | |
| run: ${{ matrix.runs.images }} | |
| - name: login to registry | |
| if: ${{ env.DEPLOY_IMAGES == 'true' }} | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: tag and push | |
| if: ${{ env.DEPLOY_IMAGES == 'true' }} | |
| run: | | |
| echo "Expanding and pushing tags..." | |
| for tag in ${{ join(matrix.meta.entries[0].tags, ' ') }}; do | |
| echo "Tagging and pushing: $tag" | |
| docker tag mariadb:${{ matrix.name }} ghcr.io/mariadb/mariadb:$tag | |
| docker push ghcr.io/mariadb/mariadb:$tag | |
| done | |
| - name: MariaDB Operator Test (non-UBI) | |
| if: ${{ env.DEPLOY_IMAGES == 'true' && !contains( matrix.name, 'ubi') }} | |
| run: gh workflow run test-image.yml --repo mariadb-operator/mariadb-operator -f mariadb_image=ghcr.io/mariadb/mariadb:${{ matrix.name }} | |
| env: | |
| GITHUB_TOKEN: "${{ secrets.MARIADB_OPERATOR_TOKEN }}" | |
| - name: MariaDB Operator Test (UBI) | |
| if: ${{ env.DEPLOY_IMAGES == 'true' && contains( matrix.name, 'ubi') }} | |
| run: gh workflow run test-image-ubi.yml --repo mariadb-operator/mariadb-operator -f mariadb_image=ghcr.io/mariadb/mariadb:${{ matrix.name }} | |
| env: | |
| GITHUB_TOKEN: "${{ secrets.MARIADB_OPERATOR_TOKEN }}" |