123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- name: Release new versions
- on:
- push:
- tags:
- - 'v*.*.*'
- jobs:
- docker-release:
- runs-on: ubuntu-latest
- steps:
- - name: Get release version
- run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
- - name: Checkout
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
- - name: Login to GitHub Container Registry
- uses: docker/login-action@v3
- with:
- registry: ghcr.io
- username: ${{ github.repository_owner }}
- password: ${{ secrets.GITHUB_TOKEN }}
- - name: Login to Docker Hub
- uses: docker/login-action@v3
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v3
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
- - name: Build and push
- uses: docker/build-push-action@v5
- with:
- context: .
- file: ./Dockerfile
- platforms: linux/amd64,linux/arm64
- push: true
- tags: |
- corentinth/it-tools:latest
- corentinth/it-tools:${{ env.RELEASE_VERSION }}
- ghcr.io/corentinth/it-tools:latest
- ghcr.io/corentinth/it-tools:${{ env.RELEASE_VERSION}}
- github-release:
- runs-on: ubuntu-latest
- needs: docker-release
- steps:
- - name: Get release version
- run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
- - name: Checkout
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
- - run: corepack enable
- - uses: actions/setup-node@v3
- with:
- node-version: 20
- cache: 'pnpm'
- - name: Install dependencies
- run: pnpm i
- - name: Build the app
- run: pnpm build
- - name: Zip the app
- run: zip -r it-tools-${{ env.RELEASE_VERSION }}.zip dist/*
- - name: Get changelog
- id: changelog
- run: |
- EOF=$(openssl rand -hex 8)
- echo "changelog<<$EOF" >> $GITHUB_OUTPUT
- node ./scripts/getLatestChangelog.mjs >> $GITHUB_OUTPUT
- echo "$EOF" >> $GITHUB_OUTPUT
- - name: Create Release
- uses: softprops/action-gh-release@v1
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- files: it-tools-${{ env.RELEASE_VERSION }}.zip
- tag_name: v${{ env.RELEASE_VERSION }}
- draft: true
- prerelease: false
- body: |
- ## Docker images
- - Docker Hub
- - `corentinth/it-tools:latest`
- - `corentinth/it-tools:${{ env.RELEASE_VERSION }}`
- - GitHub Container Registry
- - `ghcr.io/corentinth/it-tools:latest`
- - `ghcr.io/corentinth/it-tools:${{ env.RELEASE_VERSION}}`
- ## Changelog
- ${{ steps.changelog.outputs.changelog }}
|