Skip to content

Release version 1.20250412.16 #8

Release version 1.20250412.16

Release version 1.20250412.16 #8

Workflow file for this run

name: Build and Push to GHCR
on:
push:
#branches:
# - master
# Publish semver tags as releases.
tags: [ 'v*.*.*' ]
pull_request:
branches: [ "master" ]
env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_BASE_NAME: ${{ github.repository }}
ORG_NAME: league-infrastructure
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
# Step 0: Check for permissions
- name: Check for GitHub Package permissions
run: |
echo "Running as GitHub user: ${{ github.actor }}"
echo "Repository: ${{ github.repository }}"
echo "Event name: ${{ github.event_name }}"
echo "Ref: ${{ github.ref }}"
echo "Checking if we have write access to packages..."
if [ "${{ github.event.repository.permissions.push }}" = "true" ]; then
echo "✅ This workflow has push access to the repository"
else
echo "⚠️ Note: Limited permissions detected. This may affect package publishing."
fi
# Step 1: Check out the repository
- name: Checkout code
uses: actions/checkout@v3
# Step 2: Install devcontainers CLI
- name: Install devcontainers CLI
run: npm install -g @devcontainers/cli
# Step 3: Log in to GitHub Container Registry
- name: Log in to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set Image Tag
id: image_tag
run: |
TAG=$(echo "${GITHUB_REF}" | sed 's|refs/tags/||')
IMAGE_BASE_NAME_LOWER=$(echo "${{ env.IMAGE_BASE_NAME }}" | tr '[:upper:]' '[:lower:]')
echo "TAG=${TAG}" >> $GITHUB_ENV
echo "IMAGE_NAME=${REGISTRY}/${IMAGE_BASE_NAME_LOWER}" >> $GITHUB_ENV
echo "LATEST_TAG=true" >> $GITHUB_ENV
shell: bash
# Step 4: Build the Dev Container image
- name: Build Dev Container image
run: |
devcontainer build --workspace-folder . --image-name ${{ env.IMAGE_NAME }}:${{ env.TAG }}
# Step 5: Tag image as latest
- name: Tag image as latest
run: |
docker tag ${{ env.IMAGE_NAME }}:${{ env.TAG }} \
${{ env.IMAGE_NAME }}:latest
# Step 6: Push Docker image
- name: Push Docker image
run: |
docker push ${{ env.IMAGE_NAME }}:${{ env.TAG }}
docker push ${{ env.IMAGE_NAME }}:latest