Upgrade to Nagios Core to 4.5.6 (#84) #276
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: Nagios Build | |
# This workflow is triggered on pushes to the repository. | |
# Taken from tutorial | |
# https://github.com/gitschooldude/hello | |
# https://www.youtube.com/watch?v=-xIXFxuZCMI | |
# https://github.com/marketplace/actions/docker-setup-buildx | |
# https://github.com/marketplace/actions/docker-login | |
# https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions/58034787 | |
on: [push] | |
jobs: | |
nagios-build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Print all github.* variables | |
id: step_one_print_all | |
run: | | |
echo "github.action : ${{ github.action }}" | |
echo "github.action_path : ${{ github.action_path }}" | |
echo "github.actor : ${{ github.actor }}" | |
echo "github.base_ref : ${{ github.base_ref }}" | |
echo 'github.event : ${{ toJson(github.event) }}' | |
echo "github.event_name : ${{ github.event_name }}" | |
echo "github.event_path : ${{ github.event_path }}" | |
echo "github.head_ref : ${{ github.head_ref }}" | |
echo "github.job : ${{ github.job }}" | |
echo "github.ref : ${{ github.ref }}" | |
echo "github.repository : ${{ github.repository }}" | |
echo "github.repository_owner : ${{ github.repository_owner }}" | |
echo "github.run_id : ${{ github.run_id }}" | |
echo "github.run_number : ${{ github.run_number }}" | |
echo "github.sha : ${{ github.sha }}" | |
echo "github.token : ${{ github.token }}" | |
echo "github.workflow : ${{ github.workflow }}" | |
echo "github.workspace : ${{ github.workspace }}" | |
echo "my docker tag: ${{ env.action_mytag }}" | |
- name: Set the value of a the Docker tag for branches other than master | |
id: step_two_branches_all | |
if: ${{ (startsWith( github.ref, 'refs/heads') == true) && (github.ref != 'refs/heads/master') }} | |
run: | | |
echo "action_mytag=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV | |
- name: Set the value of the Docker tag for git tags | |
id: step_set_docker_tag_for_git_tags | |
if: ${{ startsWith( github.ref, 'refs/tags') == true}} | |
run: | | |
echo "action_mytag=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV | |
- name: Set the value of the Docker tag for master branch | |
id: step_branch_master | |
if: ${{ github.ref == 'refs/heads/master' }} | |
run: | | |
echo "action_mytag=latest" >> $GITHUB_ENV | |
- name: Print the Docker tag value which will be used | |
id: step_print_docker_tag | |
run: | | |
echo "My docker tag will be: ${{ env.action_mytag }}" | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- | |
name: Checkout | |
uses: actions/checkout@v4 | |
- | |
name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- | |
name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- | |
name: Available platforms | |
run: echo ${{ steps.buildx.outputs.platforms }} | |
- | |
name: Cache Docker layers for this Git branch | |
uses: actions/cache@v4 | |
id: cache | |
with: | |
path: /tmp/.buildx-cache | |
key: ${{ runner.os }}-buildx-${{ github.ref }} | |
restore-keys: | | |
${{ runner.os }}-buildx-${{ github.ref }} | |
- name: Docker Buildx (build and cache) | |
run: | | |
docker buildx build \ | |
--progress plain \ | |
--cache-from "type=local,src=/tmp/.buildx-cache" \ | |
--cache-to "type=local,dest=/tmp/.buildx-cache" \ | |
--platform linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 \ | |
--label "gitCommit=${{ github.sha }}" \ | |
--label "org.opencontainers.image.revision=${{ github.sha }}" \ | |
--tag ${GITHUB_ACTOR}/nagios:${{ env.action_mytag }} \ | |
--output "type=image,push=false" . | |
- name: 'Docker Buildx: Push to Dockerhub' | |
run: | | |
echo "== This branch is : ${GITHUB_REF}" | |
echo "Will push image ${GITHUB_ACTOR}/nagios:${{ env.action_mytag }} to DockerHub" | |
docker buildx build \ | |
--progress plain \ | |
--cache-from "type=local,src=/tmp/.buildx-cache" \ | |
--platform linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 \ | |
--label "gitCommit=${{ github.sha }}" \ | |
--label "org.opencontainers.image.revision=${{ github.sha }}" \ | |
--tag ${GITHUB_ACTOR}/nagios:${{ env.action_mytag }} \ | |
--output "type=image,push=true" . | |
- name: 'Docker Buildx: Push to GitHub Container Registry' | |
run: | | |
echo "== This branch is : ${GITHUB_REF}" | |
echo "Will push image ghcr.io/${GITHUB_ACTOR}/nagios:${{ env.action_mytag }} to GitHub Container Registry" | |
docker buildx build \ | |
--progress plain \ | |
--cache-from "type=local,src=/tmp/.buildx-cache" \ | |
--platform linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 \ | |
--label "gitCommit=${{ github.sha }}" \ | |
--label "org.opencontainers.image.revision=${{ github.sha }}" \ | |
--tag ghcr.io/${GITHUB_ACTOR}/nagios:${{ env.action_mytag }} \ | |
--output "type=image,push=true" . | |
- name: Inspect image | |
run: | | |
docker buildx imagetools inspect ${GITHUB_ACTOR}/nagios:${{ env.action_mytag }} |