Improve parser #2313
Workflow file for this run
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: Docker | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - '*' | |
| pull_request: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| env: | |
| IMAGES: ${{ vars.DOCKERHUB_REPOSITORY || github.repository }} | |
| jobs: | |
| bare: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| packages: write | |
| steps: | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Docker meta | |
| id: meta | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: ${{ env.IMAGES }} | |
| tags: | | |
| type=ref,event=branch | |
| type=ref,event=pr | |
| type=pep440,pattern={{version}} | |
| type=pep440,pattern={{major}}.{{minor}} | |
| type=pep440,pattern={{major}},enable=${{ !startsWith(github.ref, 'refs/tags/v0.') }} | |
| - name: Login to GitHub Container Registry | |
| continue-on-error: ${{ github.event_name != 'push' }} | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.repository_owner }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Login to DockerHub | |
| if: vars.DOCKERHUB_REPOSITORY | |
| continue-on-error: ${{ github.event_name != 'push' }} | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: Build and push | |
| uses: docker/build-push-action@v6 | |
| with: | |
| platforms: linux/amd64,linux/arm64 | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| cache-from: | | |
| type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-amd64 | |
| type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-arm64 | |
| push: ${{ github.event_name == 'push' }} | |
| - name: Push build cache (amd64) | |
| if: github.event_name == 'push' | |
| uses: docker/build-push-action@v6 | |
| with: | |
| platforms: linux/amd64 | |
| cache-from: type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-amd64 | |
| cache-to: type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-amd64,mode=max | |
| - name: Push build cache (arm64) | |
| if: github.event_name == 'push' | |
| uses: docker/build-push-action@v6 | |
| with: | |
| platforms: linux/arm64 | |
| cache-from: type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-arm64 | |
| cache-to: type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-arm64,mode=max | |
| openfoam: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| packages: write | |
| strategy: | |
| matrix: | |
| openfoam-version: [2506, 2412, 13, 12] | |
| fail-fast: false | |
| steps: | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Docker meta | |
| id: meta | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: ${{ env.IMAGES }} | |
| tags: | | |
| type=ref,event=branch,suffix=-openfoam${{ matrix.openfoam-version }} | |
| type=ref,event=pr,suffix=-openfoam${{ matrix.openfoam-version }} | |
| type=pep440,pattern=openfoam${{ matrix.openfoam-version }} | |
| type=pep440,pattern={{version}}-openfoam${{ matrix.openfoam-version }} | |
| type=pep440,pattern={{major}}.{{minor}}-openfoam${{ matrix.openfoam-version }} | |
| type=pep440,pattern={{major}}-openfoam${{ matrix.openfoam-version }},enable=${{ !startsWith(github.ref, 'refs/tags/v0.') }} | |
| flavor: latest=false | |
| - name: Login to GitHub Container Registry | |
| continue-on-error: ${{ github.event_name != 'push' }} | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.repository_owner }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Login to DockerHub | |
| if: vars.DOCKERHUB_REPOSITORY | |
| continue-on-error: ${{ github.event_name != 'push' }} | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: Build and push | |
| uses: docker/build-push-action@v6 | |
| with: | |
| platforms: linux/amd64,linux/arm64 | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| cache-from: | | |
| type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-openfoam${{ matrix.openfoam-version }}-amd64 | |
| type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-openfoam${{ matrix.openfoam-version }}-arm64 | |
| push: ${{ github.event_name == 'push' }} | |
| build-args: | | |
| BASE=openfoam | |
| OPENFOAM_VERSION=${{ matrix.openfoam-version }} | |
| - name: Push build cache (amd64) | |
| if: github.event_name == 'push' | |
| uses: docker/build-push-action@v6 | |
| with: | |
| platforms: linux/amd64 | |
| cache-from: type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-openfoam${{ matrix.openfoam-version }}-amd64 | |
| cache-to: type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-openfoam${{ matrix.openfoam-version }}-amd64,mode=max | |
| build-args: | | |
| BASE=openfoam | |
| OPENFOAM_VERSION=${{ matrix.openfoam-version }} | |
| - name: Push build cache (arm64) | |
| if: github.event_name == 'push' | |
| uses: docker/build-push-action@v6 | |
| with: | |
| platforms: linux/arm64 | |
| cache-from: type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-openfoam${{ matrix.openfoam-version }}-arm64 | |
| cache-to: type=registry,ref=ghcr.io/${{ github.repository }}:buildcache-openfoam${{ matrix.openfoam-version }}-arm64,mode=max | |
| build-args: | | |
| BASE=openfoam | |
| OPENFOAM_VERSION=${{ matrix.openfoam-version }} |