diff --git a/.forgejo/release.yml b/.forgejo/release.yml new file mode 100644 index 0000000..6309fe5 --- /dev/null +++ b/.forgejo/release.yml @@ -0,0 +1,59 @@ +--- +name: release +on: + push: + tags: + - "v*.*.*" + +env: + DOCKER_HOST: tcp://docker-in-docker:2375 + +jobs: + build: + name: Build and push docker image + runs-on: docker + container: + image: node:21-alpine + steps: + - name: Install docker + shell: /bin/ash -e {0} + run: apk add --update docker git + - name: Check out the repo + uses: https://github.com/actions/checkout@v4 + - name: Get Metadata For Docker + uses: https://github.com/docker/metadata-action@v5 + with: + images: ${{ github.repository }} + - name: Set up Docker Buildx + uses: https://github.com/docker/setup-buildx-action@v3 + with: + driver-opts: | + network=host + config: .forgejo/build_configs/buildkitd.toml + - name: Login to docker repo + uses: docker/login-action@v3 + with: + registry: "forgejo.merr.is" + username: ${{ github.actor }} + password: ${{ secrets.actions_token }} + - name: Build and push the image + uses: https://github.com/docker/build-push-action@v5 + with: + context: . + push: true + tags: forgejo.merr.is/${{ github.repository }}:${{ github.head_ref || github.ref_name }}.${{ github.run_number }} + - name: Extract Binary For Release + uses: https://github.com/moosetheory/actions-docker-extract@v3.1 + id: extract + if: startsWith(github.ref, 'refs/tags/') + with: + shell_command: /bin/ash -c + image: forgejo.merr.is/${{ github.repository }}:${{ github.head_ref || github.ref_name }}.${{ github.run_number }} + path: isl-api + destination: /dist + - name: Create Release + uses: https://github.com/softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + dist/isl-api diff --git a/.forgejo/workflows/debugging.yml b/.forgejo/workflows/debugging.yml index 0551287..1042fea 100644 --- a/.forgejo/workflows/debugging.yml +++ b/.forgejo/workflows/debugging.yml @@ -22,7 +22,7 @@ jobs: id: meta uses: https://github.com/docker/metadata-action@v5 with: - images: forgejo.merr.is/${{ github.repository }}:v0.0.1.105 + images: forgejo.merr.is/${{ github.repository }} tags: | type=ref,event=branch type=ref,event=pr diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml deleted file mode 100644 index c7b1454..0000000 --- a/.forgejo/workflows/release.yml +++ /dev/null @@ -1,59 +0,0 @@ ---- -name: release -on: - push: - tags: - - "v*.*.*" - -env: - DOCKER_HOST: tcp://docker-in-docker:2375 - -jobs: - build: - name: Build and push docker image - runs-on: docker - container: - image: node:21-alpine - steps: - - name: Install docker - shell: /bin/ash -e {0} - run: apk add --update docker git - # - name: Check out the repo - # uses: https://github.com/actions/checkout@v4 - # - name: Get Metadata For Docker - # uses: https://github.com/docker/metadata-action@v5 - # with: - # images: ${{ github.repository }} - # - name: Set up Docker Buildx - # uses: https://github.com/docker/setup-buildx-action@v3 - # with: - # driver-opts: | - # network=host - # config: .forgejo/build_configs/buildkitd.toml - # - name: Login to docker repo - # uses: docker/login-action@v3 - # with: - # registry: "forgejo.merr.is" - # username: ${{ github.actor }} - # password: ${{ secrets.actions_token }} - # - name: Build and push the image - # uses: https://github.com/docker/build-push-action@v5 - # with: - # context: . - # push: true - # tags: forgejo.merr.is/${{ github.repository }}:${{ github.head_ref || github.ref_name }}.${{ github.run_number }} - # - name: Extract Binary For Release - # uses: https://github.com/moosetheory/actions-docker-extract@v3.1 - # id: extract - # if: startsWith(github.ref, 'refs/tags/') - # with: - # shell_command: /bin/ash -c - # image: forgejo.merr.is/${{ github.repository }}:${{ github.head_ref || github.ref_name }}.${{ github.run_number }} - # path: isl-api - # destination: /dist - # - name: Create Release - # uses: https://github.com/softprops/action-gh-release@v1 - # if: startsWith(github.ref, 'refs/tags/') - # with: - # files: | - # dist/isl-api