GitHub Action
Docker tag action
v0.4.22
Latest version
This composite action determines the Docker tag based on what git branch, git tag or git commit you are on.
The Docker tag output (docker-tag
) of this action is determined in its default configuration as shown by the following table:
Git state | Resulting Docker tag |
---|---|
On branch master |
latest |
On another branch | <branch-name> |
On a tag | <tag-name> |
Detached commit | <git-commit-hash> |
The following inputs can be used to alter the Docker tag name determination:
Input | Required | Default | Description |
---|---|---|---|
latest_git_branch |
No | master |
Optionally change the git branch, which determines the the Docker tag latest . |
latest_docker_tag_name |
No | latest |
Optionally specify an alternative Docker tag name for latest . |
non_latest_docker_tag_prefix |
No | `` | Optionally add a prefix to all non-latest docker tags. |
non_latest_docker_tag_suffix |
No | `` | Optionally add a suffix to all non-latest docker tags. |
Output | Description |
---|---|
docker-tag |
The determined Docker tag name. |
The following Docker images will be pushed:
Git state | Docker images |
---|---|
On branch master |
cytopia/php:latest |
On branch release-0.1 |
cytopia/php:release-0.1 |
On tag v1.0.0 |
cytopia/php:v1.0.0 |
On commit 1aaf12a472ac794d00b75b826db4d223c3ef2d96 |
cytopia/php:1aaf12a |
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
name: Deploy docker image
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set Docker tag
id: tag
uses: cytopia/docker-tag-action@v0.4.7
- name: build
run: |
docker build -t cytopia/php:${{ steps.tag.outputs.docker-tag }} .
- name: push
run: |
docker push cytopia/php:${{ steps.tag.outputs.docker-tag }}
The following Docker images will be pushed:
Git state | Docker images |
---|---|
On branch master |
cytopia/php:8.0 cytopia/php:8.1 |
On branch release-0.1 |
cytopia/php:8.0-release-0.1 cytopia/php:8.1-release-0.1 |
On tag v1.0.0 |
cytopia/php:8.0-v1.0.0 cytopia/php:8.1-v1.0.0 |
On commit 1aaf12a472ac794d00b75b826db4d223c3ef2d96 |
cytopia/php:8.0-1aaf12a cytopia/php:8.1-1aaf12a |
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
name: Deploy docker image
strategy:
fail-fast: false
matrix:
version:
- '8.0'
- '8.1'
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set Docker tag
id: tag
uses: cytopia/docker-tag-action@v0.4.7
with:
latest_git_branch: master
latest_docker_tag_name: ${{ matrix.version }}
non_latest_docker_tag_prefix: "${{ matrix.version }}-"
- name: build
run: |
docker build -t cytopia/php:${{ steps.tag.outputs.docker-tag }} .
- name: push
run: |
docker push cytopia/php:${{ steps.tag.outputs.docker-tag }}
Since Dependabot has native GitHub Actions support, to enable it on your GitHub repo all you need to do is add the .github/dependabot.yml
file:
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
cytopia GitHub Actions
Name | Description |
---|---|
docker-tag-action | Determines Docker tags based on git branch, commit or git tag |
git-ref-matrix-action | Create stringified JSON list of git refs to be used as a build matrix |
shell-command-retry-action | Retries shell commands to avoid failing pipelines due to network issues |
upload-artifact-verify-action | Upload artifact and verifies it by downloading it again |
upload-artifact-retry-action | Retries upload-artifact-verify-action |
download-artifact-retry-action | Download artifact with retry functionality |
Copyright (c) 2022 cytopia