docs: fix syntax of CITATION.cff file (#3123) #293
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Docker | |
# This workflow builds and pushes docker images to dockerhub | |
# | |
# Summary | |
# | |
# job docker-branch-os-matrix: | |
# * creates tags latest-alpine, latest-debian and latest-ubuntu for main branch | |
# * creates tags stable-alpine, stable-debian and stable-ubuntu for releasebranch_8_2 | |
# * creates tags <branch_name>-alpine, <branch_name>-debian and <branch_name>-ubuntu for all triggered branches | |
# | |
# job docker-main-latest: | |
# * creates tag latest for main branch | |
# | |
# job docker-release-os-matrix: | |
# * creates tags <version>-alpine, <version>-debian and <version>-ubuntu for each release | |
on: | |
push: | |
branches: | |
- main | |
- releasebranch_* | |
- '!releasebranch_7_*' | |
tags: ['*.*.*'] | |
paths-ignore: [doc/**] | |
release: | |
types: [published] | |
env: | |
# Additionally mentioned in docker-sha-release-latest | |
# as use of variable fails there | |
DOCKERHUB_REPOSITORY: osgeo/grass-gis | |
jobs: | |
# Only run for push to configured branches, do not run for releases. | |
# Take care of different os. For main branch, created tags are: | |
# latest-alpine, latest-debian, latest-ubuntu | |
# For releasebranch_8_2, created tags are: | |
# stable-alpine, stable-debian, stable-ubuntu | |
docker-branch-os-matrix: | |
name: build and push ${{ matrix.os }} for branch | |
if: startsWith(github.ref, 'refs/heads/') && github.repository_owner == 'OSGeo' | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
os: | |
- alpine | |
- debian | |
- ubuntu | |
- ubuntu_wxgui | |
fail-fast: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- id: meta | |
name: Create tag name | |
run: | | |
if [ "$GITHUB_REF" == "refs/heads/main" ] | |
then | |
TAG_PREFIX=latest | |
elif [ "$GITHUB_REF" == "refs/heads/releasebranch_8_2" ] | |
then | |
TAG_PREFIX=stable | |
else | |
# use branch name as TAG_PREFIX | |
TAG_PREFIX=`echo $GITHUB_REF|cut -d '/' -f3` | |
fi | |
tag="${DOCKERHUB_REPOSITORY}:${TAG_PREFIX}-${{ matrix.os }}" | |
echo "tags=$tag" >> $GITHUB_OUTPUT | |
- name: Log | |
run: | | |
echo ${{ steps.meta.outputs.tags }} | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
id: docker_build | |
uses: docker/build-push-action@v4 | |
with: | |
push: true | |
pull: true | |
context: . | |
tags: ${{ steps.meta.outputs.tags }} | |
file: docker/${{ matrix.os }}/Dockerfile | |
- name: Image digest | |
run: echo ${{ steps.docker_build.outputs.digest }} | |
# Only run for push to main branch | |
# Take care of tag latest | |
# This job needs to build the configured image (ubuntu) | |
# again for main branch to create latest tag. | |
docker-main-latest: | |
name: build and push latest for main branch | |
if: github.ref == 'refs/heads/main' && github.repository_owner == 'OSGeo' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- id: meta | |
name: Create tag name | |
run: | | |
tag=${DOCKERHUB_REPOSITORY}:latest | |
echo "tags=$tag" >> $GITHUB_OUTPUT | |
- name: Log | |
run: echo ${{ steps.meta.outputs.tags }} | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
id: docker_build | |
uses: docker/build-push-action@v4 | |
with: | |
push: true | |
pull: true | |
context: . | |
tags: ${{ steps.meta.outputs.tags }} | |
file: docker/ubuntu/Dockerfile | |
- name: Image digest | |
run: echo ${{ steps.docker_build.outputs.digest }} | |
# run for releases, take care of release tags | |
docker-release-os-matrix: | |
name: build and push release for ${{ matrix.os }} | |
if: startsWith(github.ref, 'refs/tags/') && github.repository_owner == 'OSGeo' | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
os: | |
- alpine | |
- debian | |
- ubuntu | |
fail-fast: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Create image and tag name | |
id: meta | |
uses: docker/metadata-action@v4 | |
with: | |
# images: ${DOCKERHUB_REPOSITORY} | |
images: osgeo/grass-gis | |
tags: | | |
type=ref,event=tag | |
flavor: | | |
latest=false | |
- id: meta2 | |
name: Update tag name | |
run: | | |
tag="${{ steps.meta.outputs.tags }}-${{ matrix.os }}" | |
echo "tags=$tag" >> $GITHUB_OUTPUT | |
- name: Log | |
run: | | |
echo ${{ steps.meta2.outputs.tags }} | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
id: docker_build | |
uses: docker/build-push-action@v4 | |
with: | |
push: true | |
pull: true | |
context: . | |
tags: ${{ steps.meta2.outputs.tags }} | |
file: docker/${{ matrix.os }}/Dockerfile | |
- name: Image digest | |
run: echo ${{ steps.docker_build.outputs.digest }} |