diff --git a/.dockerignore b/.dockerignore index 700c9ec..a27a613 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,4 @@ -Justfile Dockerfile .dockerignore -LICENSE \ No newline at end of file +LICENSE +.gitea \ No newline at end of file diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..9455827 --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,69 @@ +name: deploy + +on: + push: + tags: + - "v*[0-9].*[0-9].*[0-9]?(-rc?(.*[0-9])|-dev?(.*[0-9]))" + - latest + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Login to Gitea Container Registry + uses: docker/login-action@v2 + with: + registry: gitea.antoine-langlois.net + username: ${{ gitea.repository_owner }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Get latest version + if: ${{ gitea.ref_name == 'latest' }} + run: | + apt update -y + apt install -y jq + curl -sfL https://raw.githubusercontent.com/ducaale/xh/master/install.sh | sh + echo "version=$(xh https://api.github.com/repos/AmruthPillai/Reactive-Resume/releases/latest Accept:application/vnd.github+json X-GitHub-Api-Version:2022-11-28 | jq .tag_name)" >> $GITHUB_ENV + + - name: Build and push latest + uses: docker/build-push-action@v4 + if: ${{ gitea.ref_name == 'latest' }} + with: + context: . + platforms: linux/amd64,linux/arm64 + build-args: | + VERSION=${{ env.version }} + push: true + tags: | + datahearth/reactive-resume:${{ env.version }} + datahearth/reactive-resume:latest + gitea.antoine-langlois.net/reactive-resume:${{ env.version }} + gitea.antoine-langlois.net/reactive-resume:latest + + - name: Build and push tag + uses: docker/build-push-action@v4 + if: ${{ gitea.ref_name != 'latest' }} + with: + context: . + platforms: linux/amd64,linux/arm64 + build-args: | + VERSION=${{ gitea.ref_name }} + push: true + tags: | + datahearth/reactive-resume:${{ gitea.ref_name } + gitea.antoine-langlois.net/reactive-resume:${{ gitea.ref_name }} diff --git a/Justfile b/Justfile deleted file mode 100644 index 0811817..0000000 --- a/Justfile +++ /dev/null @@ -1,27 +0,0 @@ -default: build-latest - -LATEST_VERSION := `xh https://api.github.com/repos/AmruthPillai/Reactive-Resume/releases/latest Accept:application/vnd.github+json X-GitHub-Api-Version:2022-11-28 | jq .tag_name` - -# build and push latest version of reactive-resume to "gitea" and "docker" -build-latest: - @echo "building images..." - docker build -t gitea.antoine-langlois.net/datahearth/reactive-resume:{{LATEST_VERSION}} --build-arg VERSION={{LATEST_VERSION}} . - docker tag gitea.antoine-langlois.net/datahearth/reactive-resume:{{LATEST_VERSION}} gitea.antoine-langlois.net/datahearth/reactive-resume:latest - docker tag gitea.antoine-langlois.net/datahearth/reactive-resume:{{LATEST_VERSION}} datahearth/reactive-resume:{{LATEST_VERSION}} - docker tag gitea.antoine-langlois.net/datahearth/reactive-resume:{{LATEST_VERSION}} datahearth/reactive-resume:latest - - @echo "pushing images..." - docker push gitea.antoine-langlois.net/datahearth/reactive-resume:{{LATEST_VERSION}} - docker push gitea.antoine-langlois.net/datahearth/reactive-resume:latest - docker push datahearth/reactive-resume:{{LATEST_VERSION}} - docker push datahearth/reactive-resume:latest - -# build and push specific version of reactive-resume to "gitea" and "docker" -build VERSION: - @echo "building images..." - docker build -t gitea.antoine-langlois.net/datahearth/reactive-resume:{{VERSION}} --build-arg VERSION={{VERSION}} . - docker tag gitea.antoine-langlois.net/datahearth/reactive-resume:{{VERSION}} datahearth/reactive-resume:{{VERSION}} - - @echo "pushing images..." - docker push gitea.antoine-langlois.net/datahearth/reactive-resume:{{VERSION}} - docker push datahearth/reactive-resume:{{VERSION}} \ No newline at end of file