procezujo voko-akrido #233
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: procezujo voko-akrido | |
# https://github.com/actions/starter-workflows/blob/master/ci/docker-push.yml | |
on: | |
push: | |
# Publish `master` as Docker `latest` image. | |
branches: | |
- master | |
# Publish `v1.2.3` tags as releases. | |
tags: | |
- v* | |
- stabila | |
schedule: | |
# kaj aktualigu dufoje semajne (por havi aktualan radikaron) | |
# * estas speciala signo, do nepre uzu citilojn | |
- cron: '15 14 * * 1,5' | |
env: | |
# image name. | |
IMAGE_NAME: voko-akrido | |
# IMAGE_ENTRY: akrido | |
# IMAGE_TEST: med-medio | |
ORGANIZATION: revuloj | |
jobs: | |
# Run tests. | |
# See also https://docs.docker.com/docker-hub/builds/automated-testing/ | |
kreo_testo: | |
runs-on: ubuntu-latest | |
steps: | |
# https://github.com/actions/checkout | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: Kreo de ${{ env.IMAGE_NAME }} | |
run: | | |
sbin/eldono kreo | |
- name: Testoj de ${{ env.IMAGE_NAME }} | |
run: | | |
tst/docker-test.sh $IMAGE_NAME | |
# - name: Run tests | |
# run: | | |
# if [ -f docker-compose.test.yml ]; then | |
# docker-compose --file docker-compose.test.yml build | |
# docker-compose --file docker-compose.test.yml run sut | |
# else | |
# docker build . --file Dockerfile | |
# fi | |
- name: Arĥivo de ${{ env.IMAGE_NAME }} | |
run: | | |
docker image save -o ${IMAGE_NAME}.tar ${IMAGE_NAME} | |
# https://github.com/actions/upload-artifact | |
- name: Konservo de ${{ env.IMAGE_NAME }} por la sekvonta tasko | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.IMAGE_NAME }} | |
path: ${{ env.IMAGE_NAME }}.tar | |
# Push image to GitHub Package Registry. | |
# See also https://docs.docker.com/docker-hub/builds/ | |
sendo: | |
# Ensure test job passes before pushing image. | |
needs: kreo_testo | |
runs-on: ubuntu-latest | |
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows | |
#if: github.event_name == 'push' | |
steps: | |
# https://github.com/actions/download-artifact | |
- name: Reakiro de ${{ env.IMAGE_NAME }} | |
uses: actions/download-artifact@v3 | |
with: | |
name: ${{ env.IMAGE_NAME }} | |
path: image | |
- name: Saluto al ghcr.io | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Push image | |
run: | | |
docker image load -i image/${IMAGE_NAME}.tar | |
#IMAGE_ID=ghcr.io/${{ github.repository }}/$IMAGE_NAME | |
# ĉu eblas ankau nur /revuloj/ ($ORGANIZATION) ? | |
IMAGE_ID=ghcr.io/${{ github.repository }}/$IMAGE_NAME | |
# Strip git ref prefix from version | |
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') | |
# Strip "v" prefix from tag name | |
[[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//') | |
# Use Docker `latest` tag convention | |
[ "$VERSION" == "master" ] && VERSION=latest | |
echo IMAGE_ID=$IMAGE_ID | |
echo VERSION=$VERSION | |
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION | |
docker push $IMAGE_ID:$VERSION |