Skip to content

Publish artifacts and create Github releases #25

Publish artifacts and create Github releases

Publish artifacts and create Github releases #25

Workflow file for this run

name: Publish docker artifacts to docker registries
on:
workflow_dispatch:
env:
PRIVATE_DOCKER_REGISTRY_URL: ${{ secrets.GITLAB_DOCKER_REGISTRY_URL }}
PRIVATE_DOCKER_REGISTRY_USER: ${{ secrets.GITLAB_PKG_REGISTRY_USER }}
PRIVATE_DOCKER_REGISTRY_PASS: ${{ secrets.GITLAB_PKG_REGISTRY_TOKEN }}
PRIVATE_MVN_REGISTRY_TOKEN: ${{ secrets.GITLAB_PKG_REGISTRY_TOKEN }}
PRIVATE_MVN_REGISTRY_URL: ${{ secrets.GITLAB_MAVEN_REGISTRY_URL }}
PRIVATE_MVN_REGISTRY_USER: ${{ secrets.GITLAB_PKG_REGISTRY_USER }}
PRIVATE_MVN_REGISTRY_PASS: ${{ secrets.GITLAB_PKG_REGISTRY_TOKEN }}
jobs:
publish:
permissions:
contents: read
packages: write
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set extra environment and metadata
id: metadata
run: |
ARTIFACT_VERSION=$(grep version gradle.properties | awk '{print $NF}')
GIT_SHORT_COMMIT=${GITHUB_SHA::7}
DOCKER_IMAGE_NAME=$(basename ${GITHUB_REPOSITORY})
echo "ARTIFACT_VERSION=${ARTIFACT_VERSION}" | tee -a "$GITHUB_ENV" | tee -a "$GITHUB_OUTPUT"
echo "GIT_SHORT_COMMIT=${GIT_SHORT_COMMIT}" | tee -a "$GITHUB_ENV" | tee -a "$GITHUB_OUTPUT"
echo "GITHUB_RUN_ID=${GITHUB_RUN_ID}" | tee -a "$GITHUB_ENV" | tee -a "$GITHUB_OUTPUT"
echo "DOCKER_IMAGES_EXTRA_TAGS=${ARTIFACT_VERSION}-${GIT_SHORT_COMMIT} ${ARTIFACT_VERSION}-${GIT_SHORT_COMMIT}-${GITHUB_RUN_ID}" | tee -a "$GITHUB_ENV" | tee -a "$GITHUB_OUTPUT"
- name: Docker Login (private registry)
uses: docker/login-action@v2
with:
registry: ${{ env.PRIVATE_DOCKER_REGISTRY_URL }}
username: ${{ env.PRIVATE_DOCKER_REGISTRY_USER }}
password: ${{ env.PRIVATE_DOCKER_REGISTRY_PASS }}
- name: Docker Login (hub.docker.com)
uses: docker/login-action@v2
with:
username: ${{ secrets.HUB_DOCKER_COM_USER }}
password: ${{ secrets.HUB_DOCKER_COM_PASS }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- uses: earthly/actions-setup@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
version: "0.8.6"
- name: 🌍 earthly (docker build and push)
env:
EARTHLY_BUILD_ARGS: DOCKER_IMAGES_EXTRA_TAGS=${{ steps.metadata.outputs.DOCKER_IMAGES_EXTRA_TAGS }},DOCKER_REGISTRIES=${{ secrets.DOCKER_REGISTRIES }}
run: |
earthly +docker-publish