lasthourcloud/.github/workflows/production-build.yml

88 lines
3.0 KiB
YAML
Raw Normal View History

2023-04-27 09:29:02 +00:00
name: Production Build (v4)
on:
push:
2023-06-23 09:35:29 +00:00
branches: ["main"]
paths-ignore:
- templates/service-templates.json
2023-04-27 09:29:02 +00:00
env:
REGISTRY: ghcr.io
IMAGE_NAME: "coollabsio/coolify"
jobs:
2023-07-04 10:28:57 +00:00
amd64:
2023-11-03 17:01:17 +00:00
runs-on: ubuntu-latest
2023-04-27 09:29:02 +00:00
steps:
2024-01-26 10:23:49 +00:00
- uses: actions/checkout@v4
2023-04-27 09:29:02 +00:00
- name: Login to ghcr.io
2024-01-26 10:23:49 +00:00
uses: docker/login-action@v3
2023-04-27 09:29:02 +00:00
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get Version
id: version
run: |
echo "VERSION=$(docker run --rm -v "$(pwd):/app" -w /app php:8.2-alpine3.16 php bootstrap/getVersion.php)"|xargs >> $GITHUB_OUTPUT
2023-04-27 12:16:16 +00:00
- name: Build image and push to registry
2024-01-26 10:23:49 +00:00
uses: docker/build-push-action@v5
2023-04-27 09:29:02 +00:00
with:
context: .
2024-05-29 06:44:57 +00:00
file: docker/prod/Dockerfile
2023-04-27 09:29:02 +00:00
platforms: linux/amd64
push: true
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.VERSION }}
2023-07-04 10:26:37 +00:00
aarch64:
runs-on: [self-hosted, arm64]
steps:
2024-01-26 10:23:49 +00:00
- uses: actions/checkout@v4
2023-07-04 10:26:37 +00:00
- name: Login to ghcr.io
2024-01-26 10:23:49 +00:00
uses: docker/login-action@v3
2023-07-04 10:26:37 +00:00
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get Version
id: version
run: |
echo "VERSION=$(docker run --rm -v "$(pwd):/app" -w /app php:8.2-alpine3.16 php bootstrap/getVersion.php)"|xargs >> $GITHUB_OUTPUT
- name: Build image and push to registry
2024-01-26 10:23:49 +00:00
uses: docker/build-push-action@v5
2023-07-04 10:26:37 +00:00
with:
context: .
2024-05-29 06:44:57 +00:00
file: docker/prod/Dockerfile
2023-07-04 10:26:37 +00:00
platforms: linux/aarch64
push: true
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.VERSION }}-aarch64
merge-manifest:
2023-07-04 10:27:54 +00:00
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
needs: [amd64, aarch64]
steps:
- name: Checkout
2024-01-26 10:23:49 +00:00
uses: actions/checkout@v4
2023-07-04 10:27:54 +00:00
- name: Set up QEMU
2024-01-26 10:23:49 +00:00
uses: docker/setup-qemu-action@v3
2023-07-04 10:27:54 +00:00
- name: Set up Docker Buildx
2024-01-26 10:23:49 +00:00
uses: docker/setup-buildx-action@v3
2023-07-04 10:27:54 +00:00
- name: Login to ghcr.io
2024-01-26 10:23:49 +00:00
uses: docker/login-action@v3
2023-07-04 10:27:54 +00:00
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get Version
id: version
run: |
echo "VERSION=$(docker run --rm -v "$(pwd):/app" -w /app php:8.2-alpine3.16 php bootstrap/getVersion.php)"|xargs >> $GITHUB_OUTPUT
- name: Create & publish manifest
run: |
docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.VERSION }}-aarch64 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.VERSION }} --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
2023-04-28 12:05:33 +00:00
- uses: sarisia/actions-status-discord@v1
if: always()
with:
2023-06-23 09:35:29 +00:00
webhook: ${{ secrets.DISCORD_WEBHOOK_PROD_RELEASE_CHANNEL }}