diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 5fc281b..52f4d62 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,14 +1,53 @@ name: Deploy on: - workflow_run: - workflows: [Docker Image CI] - types: [completed] - tags: - - 'v[0-9]+.[0-9]+.[0-9]+' + release: + types: edited # change later to published + +env: + IMAGE_NAME: bingusboingus jobs: + build: + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + + steps: + - uses: actions/checkout@v3 + - name: Build image + run: docker build --pull --rm -f "dockerfiles/Dockerfile.prod" --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" . + - name: Log in to registry + run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin + - name: Push image + run: | + IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME + + IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') + + VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') + + [[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//') + + echo IMAGE_ID=$IMAGE_ID + echo VERSION=$VERSION + docker tag $IMAGE_NAME $IMAGE_ID:$VERSION + docker push $IMAGE_ID:$VERSION + + if [[ $VERSION =~ ^[0-9]+.[0-9]+.[0-9]+$ ]]; then + docker tag $IMAGE_ID:$VERSION $IMAGE_ID:latest + docker push $IMAGE_ID:latest + fi + + # build repoUrl + # change all uppercase characters to lowercase + # strip git ref prefix from version + # strip v prefix from tag name + # zse Docker:latest tag convention + deploy: + needs: build runs-on: ubuntu-latest steps: - name: executing remote ssh commands using password @@ -24,5 +63,5 @@ jobs: docker compose pull docker compose up -d -###ssh sachen -# https://github.com/appleboy/ssh-action + ###ssh sachen + # https://github.com/appleboy/ssh-action diff --git a/.github/workflows/docker.yml b/.github/workflows/docker-dev.yml similarity index 85% rename from .github/workflows/docker.yml rename to .github/workflows/docker-dev.yml index 5b82966..a44b46e 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker-dev.yml @@ -3,8 +3,6 @@ name: Docker Image CI on: push: branches: ['dev'] - tags: - - 'v[0-9]+.[0-9]+.[0-9]+' env: IMAGE_NAME: bingusboingus @@ -37,11 +35,6 @@ jobs: docker tag $IMAGE_NAME $IMAGE_ID:$VERSION docker push $IMAGE_ID:$VERSION - if [[ $VERSION =~ ^[0-9]+.[0-9]+.[0-9]+$ ]]; then - docker tag $IMAGE_ID:$VERSION $IMAGE_ID:latest - docker push $IMAGE_ID:latest - fi - # build repoUrl # change all uppercase characters to lowercase # strip git ref prefix from version diff --git a/.github/workflows/docker-test.yml b/.github/workflows/docker-test.yml index 7483ec0..8aed2b7 100644 --- a/.github/workflows/docker-test.yml +++ b/.github/workflows/docker-test.yml @@ -21,20 +21,3 @@ jobs: run: docker build --pull --rm -f "dockerfiles/Dockerfile.test" --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" . - name: Run tests run: docker run bingusboingus npm run test - # - name: Log in to registry - # run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin - # - name: Push image - # run: | - # IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME - - # IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') - - # VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') - - # [[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//') - - # [ "$VERSION" == "master" ] && VERSION=latest - # echo IMAGE_ID=$IMAGE_ID - # echo VERSION=$VERSION-test - # docker tag $IMAGE_NAME $IMAGE_ID:$VERSION-test - # docker push $IMAGE_ID:$VERSION-test