Page Menu
Home
Musing Studio
Search
Configure Global Search
Log In
Files
F10668581
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
7 KB
Subscribers
None
View Options
diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish-dev.yml
similarity index 55%
copy from .github/workflows/docker-publish.yml
copy to .github/workflows/docker-publish-dev.yml
index ad645ca..26c2919 100644
--- a/.github/workflows/docker-publish.yml
+++ b/.github/workflows/docker-publish-dev.yml
@@ -1,70 +1,77 @@
-name: Build container image, publish as GitHub-package
+name: Build container image, publish as GitHub-package (Dev)
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
on:
+ # Trigger the workflow on pushes to 'main' and 'develop' branches for development builds
push:
- branches: [ main, develop ]
- # Publish semver tags as releases.
- tags:
- - 'v*.*.*'
+ branches: [ main, develop, feature-docker-setup-improvement-PR1038 ]
env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
- # github.repository as <account>/<repo>
- IMAGE_NAME: ${{ github.repository }}
+ # Define image name based on the repository and suffix for development
+ IMAGE_NAME: ${{ github.repository }}-dev
jobs:
build:
-
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
+ # Step 1: Checkout the code from the repository
- name: Checkout repository
uses: actions/checkout@v4
- # Set up QEMU for cross-building
+ # Step 2: Set up QEMU for cross-platform builds
- name: Set up QEMU
uses: docker/setup-qemu-action@v3.0.0
- # Set up Docker Buildx
+ # Step 3: Set up Docker Buildx, required for multi-platform builds
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.0.0
- # Login against a Docker registry except on PR
+ # Step 4: Log into the container registry unless it's a pull request
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@v3.0.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- # Extract metadata (tags, labels) for Docker
+ # Step 5: Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v4.6.0
with:
+ # Image name will have a -dev suffix for development builds
images: |
- ghcr.io/${{ github.repository }}
+ ghcr.io/${{ env.IMAGE_NAME }}
+ # Set 'latest' tag for the current build
flavor: latest=true
- # Build and push Docker image with Buildx (don't push on PR)
+ # Step 6: Build and push Docker development image
# https://github.com/docker/build-push-action
- name: Build and push Docker images
uses: docker/build-push-action@v5.0.0
with:
+ # Context is the root directory
context: .
+ # Use the development Dockerfile
+ dockerfile: Dockerfile
+ # Set platforms for multi-architecture builds
platforms: linux/amd64,linux/arm64
- push: ${{ github.event_name != 'pull_request' }}
+ # Push the image unless it's a pull request
+ push: true
+ # Apply tags from metadata
tags: ${{ steps.meta.outputs.tags }}
+ # Apply labels from metadata
labels: ${{ steps.meta.outputs.labels }}
diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish-pro.yml
similarity index 56%
rename from .github/workflows/docker-publish.yml
rename to .github/workflows/docker-publish-pro.yml
index ad645ca..6d21b64 100644
--- a/.github/workflows/docker-publish.yml
+++ b/.github/workflows/docker-publish-pro.yml
@@ -1,70 +1,78 @@
-name: Build container image, publish as GitHub-package
+name: Build container image, publish as GitHub-package (Pro)
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
+# Trigger the workflow on version tags (v*.*.*) for production builds
on:
push:
- branches: [ main, develop ]
- # Publish semver tags as releases.
tags:
- 'v*.*.*'
env:
- # Use docker.io for Docker Hub if empty
+ # Use GitHub Container Registry for publishing
REGISTRY: ghcr.io
- # github.repository as <account>/<repo>
+ # Define image name based on the repository without any suffix for production
IMAGE_NAME: ${{ github.repository }}
jobs:
build:
-
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
+ # Step 1: Checkout the code from the repository
- name: Checkout repository
uses: actions/checkout@v4
- # Set up QEMU for cross-building
+ # Step 2: Set up QEMU for cross-platform builds
- name: Set up QEMU
uses: docker/setup-qemu-action@v3.0.0
- # Set up Docker Buildx
+ # Step 3: Set up Docker Buildx, required for multi-platform builds
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.0.0
- # Login against a Docker registry except on PR
+ # Step 4: Log into the container registry unless it's a pull request
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@v3.0.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- # Extract metadata (tags, labels) for Docker
+ # Step 5: Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v4.6.0
with:
+ # Production image name without the -dev suffix
images: |
- ghcr.io/${{ github.repository }}
+ ghcr.io/${{ env.IMAGE_NAME }}
+ # Set 'latest' tag for the current production build
flavor: latest=true
- # Build and push Docker image with Buildx (don't push on PR)
+ # Step 6: Build and push Docker production image
# https://github.com/docker/build-push-action
- name: Build and push Docker images
uses: docker/build-push-action@v5.0.0
with:
+ # Context is the root directory
context: .
+ # Use the production Dockerfile
+ dockerfile: dockerfile.prod
+ # Set platforms for multi-architecture builds
platforms: linux/amd64,linux/arm64
- push: ${{ github.event_name != 'pull_request' }}
+ # Push the image unless it's a pull request
+ push: true
+ # Apply tags from metadata, including 'latest' and version tag
tags: ${{ steps.meta.outputs.tags }}
+ # Apply labels from metadata
labels: ${{ steps.meta.outputs.labels }}
diff --git a/bin/act b/bin/act
new file mode 100644
index 0000000..2215960
Binary files /dev/null and b/bin/act differ
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Thu, May 15, 4:24 AM (5 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3239460
Attached To
rWF WriteFreely
Event Timeline
Log In to Comment