name: ci/cd internal docker image on: push: tags: - '*-spiderfoot' # schedule: # - cron: '0 12 * * *' env: GIT_REPO: spiderfoot DOCKER_IMAGE_NAME: spiderfoot jobs: build-and-push-spiderfoot: #! see on runner /data/.runner to add label (test => test:docker://debian:bullseye) # runs-on: test # container: debian:bullseye # runs-on: ubuntu-latest # container: node:16-bullseye runs-on: ubuntu-runner container: image: docker # container: # image: ${{ vars.REGISTRY_DOCKER }}/${{ vars.DOCKER_IMAGE_RUNNER }}:latest # credentials: # username: ${{ secrets.GIT_USER_REPO }} # password: ${{ secrets.PACKAGE_RW }} steps: - name: Show Information run: echo "Runner ${{ runner.os }} working on repository ${{ gitea.repository }} and on tag ${{ gitea.ref_name }}" - name: clone & build run: | git clone https://${{ secrets.PACKAGE_RW }}@${{ vars.REGISTRY_DOCKER }}/${{ secrets.GIT_USER_REPO }}/${{ env.GIT_REPO }} cd ${{ env.GIT_REPO }} cat /workspace/${{ secrets.GIT_USER_REPO }}/gitea-runner/${{ env.GIT_REPO }}/Dockerfile docker buildx b . -t ${{ env.DOCKER_IMAGE_NAME }} - name: login & push run: | echo "${{ secrets.PACKAGE_RW }}" | docker login -u ${{ secrets.GIT_USER_REPO }} --password-stdin ${{ vars.REGISTRY_DOCKER }} export VERSION=$(echo "${{ gitea.ref_name }}" | cut -d '-' -f 1) docker tag ${{ env.DOCKER_IMAGE_NAME }} ${{ vars.REGISTRY_DOCKER }}/${{ secrets.GIT_USER_REPO }}/${{ env.DOCKER_IMAGE_NAME }}:$VERSION docker tag ${{ env.DOCKER_IMAGE_NAME }} ${{ vars.REGISTRY_DOCKER }}/${{ secrets.GIT_USER_REPO }}/${{ env.DOCKER_IMAGE_NAME }}:latest echo "docker push ${{ vars.REGISTRY_DOCKER }}/${{ secrets.GIT_USER_REPO }}/${{ env.DOCKER_IMAGE_NAME }}:$VERSION" docker push ${{ vars.REGISTRY_DOCKER }}/${{ secrets.GIT_USER_REPO }}/${{ env.DOCKER_IMAGE_NAME }}:$VERSION docker push ${{ vars.REGISTRY_DOCKER }}/${{ secrets.GIT_USER_REPO }}/${{ env.DOCKER_IMAGE_NAME }}:latest