From 9e3c2030b722a0e84984f7f85cba3e9bdb2bcfd3 Mon Sep 17 00:00:00 2001 From: Nicolas Cordier Date: Fri, 6 Dec 2024 11:08:17 +0100 Subject: [PATCH] Create workflow that pushes on ghcr.io --- .github/workflows/build.yml | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000000..e94e6ecc6a547 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,43 @@ +# +name: Build - Push + +# This workflow runs when any of the following occur: +# - A push is made to a branch called `main` or `seed` +# - A tag starting with "v" is created +# - A pull request is created or updated +on: + push: + branches: + - master +env: + IMAGE_NAME: rclone +# +jobs: + # This pushes the image to GitHub Packages. + push: + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + # + steps: + - uses: actions/checkout@v4 + + - name: Build image + run: docker build . --file Dockerfile --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" + + - name: Log in to registry + run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin + + - name: Push image + run: | + IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME + + # This changes all uppercase characters to lowercase. + IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') + # This strips the git ref prefix from the version. + VERSION=$(head -1 VERSION | sed 's/v//g').$(date +%s) + echo IMAGE_ID=$IMAGE_ID + echo VERSION=$VERSION + docker tag $IMAGE_NAME $IMAGE_ID:$VERSION + docker push $IMAGE_ID:$VERSION