diff --git a/.forgejo/workflows/build.yml b/.forgejo/workflows/build.yml new file mode 100644 index 0000000..c4138c5 --- /dev/null +++ b/.forgejo/workflows/build.yml @@ -0,0 +1,56 @@ +name: Build and Push Image + +on: + push: + branches: ["**"] + +env: + DOCKER_TLS_CERTDIR: /certs + IMAGE_TAG: ${{ github.sha }} + SHORT_SHA: ${{ github.sha }} + +jobs: + spfn-website: + runs-on: debian-trixie + + steps: + - name: Checkout Repository + uses: actions/checkout@v6 + with: + submodules: recursive + + - name: Cache Container Storage + uses: actions/cache@v5 + with: + path: | + /var/lib/containers/storage + /run/containers/storage + ~/.local/share/containers/storage + key: image-cache + + - name: Login to Registry + run: $RNEX_CONTAINER_PLATFORM login -u ${{ secrets.PACKAGE_USER }} -p ${{ secrets.PACKAGE_PWD }} git.spbr.net + + - name: Set Short SHA + run: echo "SHORT_SHA=${GITHUB_SHA::6}" >> $GITHUB_ENV + + - name: Build and Push + env: + CI_REGISTRY_IMAGE: git.spbr.net/spacebar/spfn-website + CI_COMMIT_SHORT_SHA: ${{ env.SHORT_SHA }} + run: | + $RNEX_CONTAINER_PLATFORM login -u ${{ secrets.PACKAGE_USER }} -p ${{ secrets.PACKAGE_PWD }} git.spbr.net + $RNEX_CONTAINER_PLATFORM build -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" . + $RNEX_CONTAINER_PLATFORM push "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" + + - name: Push Retagged Latest + if: github.ref == 'refs/heads/main' + env: + CI_REGISTRY_IMAGE: git.spbr.net/spacebar/spfn-website + CI_COMMIT_SHORT_SHA: latest + CI_COMMIT_PREVIOUS_SHA: ${{ env.SHORT_SHA }} + run: | + $RNEX_CONTAINER_PLATFORM login -u ${{ secrets.PACKAGE_USER }} -p ${{ secrets.PACKAGE_PWD }} git.spbr.net + $RNEX_CONTAINER_PLATFORM pull "$CI_REGISTRY_IMAGE:$CI_COMMIT_PREVIOUS_SHA" + $RNEX_CONTAINER_PLATFORM tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_PREVIOUS_SHA" "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" + $RNEX_CONTAINER_PLATFORM push "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 0a08926..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,36 +0,0 @@ -default: - image: quay.io/podman/stable - -stages: - - build-and-push-image - - push-retagged-branch - - push-retagged-latest - -build-and-push-image: - stage: build-and-push-image - script: - - podman login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - podman build --no-cache -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" . - - podman push "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" - -push-retagged-branch: - stage: push-retagged-branch - script: - - podman login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - podman pull "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" - - podman tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" - - podman push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" - rules: - - if: $CI_PIPELINE_SOURCE == "push" - when: on_success - -push-retagged-latest: - stage: push-retagged-latest - script: - - podman login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - podman pull "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" - - podman tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:latest" - - podman push "$CI_REGISTRY_IMAGE:latest" - rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "push" - when: on_success