소스 검색

Update workflows

Daniel Supernault 1 개월 전
부모
커밋
3d14b7270f
2개의 변경된 파일2개의 추가작업 그리고 232개의 파일을 삭제
  1. 0 230
      .github/workflows/docker.yml
  2. 2 2
      .github/workflows/laravel.yml

+ 0 - 230
.github/workflows/docker.yml

@@ -1,230 +0,0 @@
----
-name: Docker
-
-on:
-  # See: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch
-  workflow_dispatch:
-
-  # See: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push
-  push:
-    branches:
-      - dev
-      - staging
-    tags:
-      - "*"
-
-  # See: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request
-  pull_request:
-    types:
-      - opened
-      - reopened
-      - synchronize
-
-jobs:
-  lint:
-    name: hadolint
-    runs-on: ubuntu-latest
-
-    permissions:
-      contents: read
-
-    steps:
-      - name: Checkout Code
-        uses: actions/checkout@v4
-
-      - name: Docker Lint
-        uses: hadolint/hadolint-action@v3.1.0
-        with:
-          dockerfile: Dockerfile
-          failure-threshold: error
-
-  shellcheck:
-    name: ShellCheck
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v4
-      - name: Run ShellCheck
-        uses: ludeeus/action-shellcheck@master
-        env:
-          SHELLCHECK_OPTS: --shell=bash --external-sources
-        with:
-          version: v0.9.0
-          additional_files: "*.envsh .env .env.docker .env.example .env.testing"
-
-  bats:
-    name: Bats Testing
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v4
-      - name: Run bats
-        run: docker run -v "$PWD:/var/www" bats/bats:latest /var/www/tests/bats
-
-  build:
-    name: Build, Test, and Push
-    runs-on: ubuntu-latest
-
-    strategy:
-      fail-fast: false
-
-      # See: https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
-      matrix:
-        php_version:
-          - 8.2
-          - 8.3
-        target_runtime:
-          - apache
-          - fpm
-          - nginx
-        php_base:
-          - apache
-          - fpm
-
-        # See: https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#excluding-matrix-configurations
-        # See: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategymatrixexclude
-        exclude:
-          # targeting [apache] runtime with [fpm] base type doesn't make sense
-          - target_runtime: apache
-            php_base: fpm
-
-          # targeting [fpm] runtime with [apache] base type doesn't make sense
-          - target_runtime: fpm
-            php_base: apache
-
-          # targeting [nginx] runtime with [apache] base type doesn't make sense
-          - target_runtime: nginx
-            php_base: apache
-
-    # See: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-using-concurrency-and-the-default-behavior
-    concurrency:
-      group: docker-build-${{ github.ref }}-${{ matrix.php_base }}-${{ matrix.php_version }}-${{ matrix.target_runtime }}
-      cancel-in-progress: true
-
-    permissions:
-      contents: read
-      packages: write
-
-    env:
-      # Set the repo variable [DOCKER_HUB_USERNAME] to override the default
-      # at https://github.com/<user>/<project>/settings/variables/actions
-      DOCKER_HUB_USERNAME: ${{ vars.DOCKER_HUB_USERNAME || 'pixelfed' }}
-
-      # Set the repo variable [DOCKER_HUB_ORGANISATION] to override the default
-      # at https://github.com/<user>/<project>/settings/variables/actions
-      DOCKER_HUB_ORGANISATION: ${{ vars.DOCKER_HUB_ORGANISATION || 'pixelfed' }}
-
-      # Set the repo variable [DOCKER_HUB_REPO] to override the default
-      # at https://github.com/<user>/<project>/settings/variables/actions
-      DOCKER_HUB_REPO: ${{ vars.DOCKER_HUB_REPO || 'pixelfed' }}
-
-      # For Docker Hub pushing to work, you need the secret [DOCKER_HUB_TOKEN]
-      # set to your Personal Access Token at https://github.com/<user>/<project>/settings/secrets/actions
-      #
-      # ! NOTE: no [login] or [push] will happen to Docker Hub until this secret is set!
-      HAS_DOCKER_HUB_CONFIGURED: ${{ secrets.DOCKER_HUB_TOKEN != '' }}
-
-    steps:
-      - name: Checkout Code
-        uses: actions/checkout@v4
-
-      - name: Set up QEMU
-        uses: docker/setup-qemu-action@v3
-
-      - name: Set up Docker Buildx
-        uses: docker/setup-buildx-action@v3
-        id: buildx
-        with:
-          version: v0.12.0 # *or* newer, needed for annotations to work
-
-        # See: https://github.com/docker/login-action?tab=readme-ov-file#github-container-registry
-      - name: Log in to the GitHub Container registry
-        uses: docker/login-action@v3
-        with:
-          registry: ghcr.io
-          username: ${{ github.actor }}
-          password: ${{ secrets.GITHUB_TOKEN }}
-
-        # See: https://github.com/docker/login-action?tab=readme-ov-file#docker-hub
-      - name: Login to Docker Hub registry (conditionally)
-        if: ${{ env.HAS_DOCKER_HUB_CONFIGURED == true }}
-        uses: docker/login-action@v3
-        with:
-          username: ${{ env.DOCKER_HUB_USERNAME }}
-          password: ${{ secrets.DOCKER_HUB_TOKEN }}
-
-      - name: Docker meta
-        uses: docker/metadata-action@v5
-        id: meta
-        with:
-          images: |
-            name=ghcr.io/${{ github.repository }},enable=true
-            name=${{ env.DOCKER_HUB_ORGANISATION }}/${{ env.DOCKER_HUB_REPO }},enable=${{ env.HAS_DOCKER_HUB_CONFIGURED }}
-          flavor: |
-            latest=auto
-            suffix=-${{ matrix.target_runtime }}-${{ matrix.php_version }}
-          tags: |
-            type=raw,value=dev,enable=${{ github.ref == format('refs/heads/{0}', 'dev') }}
-            type=raw,value=staging,enable=${{ github.ref == format('refs/heads/{0}', 'staging') }}
-            type=pep440,pattern={{raw}}
-            type=pep440,pattern=v{{major}}.{{minor}}
-            type=ref,event=branch,prefix=branch-
-            type=ref,event=pr,prefix=pr-
-            type=ref,event=tag
-        env:
-          DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
-
-      - name: Docker meta (Cache)
-        uses: docker/metadata-action@v5
-        id: cache
-        with:
-          images: |
-            name=ghcr.io/${{ github.repository }}-cache,enable=true
-            name=${{ env.DOCKER_HUB_ORGANISATION }}/${{ env.DOCKER_HUB_REPO }}-cache,enable=${{ env.HAS_DOCKER_HUB_CONFIGURED }}
-          flavor: |
-            latest=auto
-            suffix=-${{ matrix.target_runtime }}-${{ matrix.php_version }}
-          tags: |
-            type=raw,value=dev,enable=${{ github.ref == format('refs/heads/{0}', 'dev') }}
-            type=raw,value=staging,enable=${{ github.ref == format('refs/heads/{0}', 'staging') }}
-            type=pep440,pattern={{raw}}
-            type=pep440,pattern=v{{major}}.{{minor}}
-            type=ref,event=branch,prefix=branch-
-            type=ref,event=pr,prefix=pr-
-            type=ref,event=tag
-        env:
-          DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
-
-      - name: Build and push Docker image
-        uses: docker/build-push-action@v5
-        with:
-          context: .
-          file: Dockerfile
-          target: ${{ matrix.target_runtime }}-runtime
-          platforms: linux/amd64,linux/arm64
-          builder: ${{ steps.buildx.outputs.name }}
-          tags: ${{ steps.meta.outputs.tags }}
-          annotations: ${{ steps.meta.outputs.annotations }}
-          push: true
-          sbom: true
-          provenance: true
-          build-args: |
-            PHP_VERSION=${{ matrix.php_version }}
-            PHP_BASE_TYPE=${{ matrix.php_base }}
-          cache-from: |
-            type=gha,scope=${{ matrix.target_runtime }}-${{ matrix.php_base }}-${{ matrix.php_version }}
-          cache-to: |
-            type=gha,mode=max,scope=${{ matrix.target_runtime }}-${{ matrix.php_base }}-${{ matrix.php_version }}
-            ${{ steps.cache.outputs.tags }}
-
-      # goss validate the image
-      #
-      # See: https://github.com/goss-org/goss
-      - uses: e1himself/goss-installation-action@v1
-        with:
-          version: "v0.4.4"
-      - name: Execute Goss tests
-        run: |
-          dgoss run \
-            -v "./.env.testing:/var/www/.env" \
-            -e "EXPECTED_PHP_VERSION=${{ matrix.php_version }}" \
-            -e "PHP_BASE_TYPE=${{ matrix.php_base }}" \
-            ${{ steps.meta.outputs.tags }}

+ 2 - 2
.github/workflows/laravel.yml

@@ -2,9 +2,9 @@ name: Laravel Test Suite
 
 on:
   push:
-    branches: [ staging ]
+    branches: [ staging, dev ]
   pull_request:
-    branches: [ staging ]
+    branches: [ staging, dev ]
 
 jobs:
   tests: