Merge pull request #96 from InseeFr/feat/add-search-questionnaire #14
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build release candidate | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
check-version: | |
runs-on: ubuntu-latest | |
outputs: | |
release-version: ${{ steps.version.outputs.pe-version }} | |
tag-already-exists: ${{ steps.checkTag.outputs.exists }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Get version | |
id: version | |
run: echo "pe-version=$(cat package.json | jq -r '.version')" >> $GITHUB_OUTPUT | |
- name: Print version | |
run: echo ${{ steps.version.outputs.pe-version }} | |
- uses: mukunku/[email protected] | |
id: checkTag | |
with: | |
tag: ${{ steps.version.outputs.pe-version }} | |
- if: ${{ steps.checkTag.outputs.exists == 'true' }} | |
name: "Skip release" | |
run: echo "Nothing to tag/release, the release ${{ steps.version.outputs.pe-version }} already exists" | |
create-release: | |
needs: check-version | |
runs-on: ubuntu-latest | |
if: ${{ needs.check-version.outputs.tag-already-exists == 'false' }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.ref }} | |
fetch-depth: 0 | |
- name: Get previous tag | |
id: previousTag | |
run: echo "previousTag=$(git --no-pager tag --sort=creatordate --merged ${{ github.ref_name }} | grep '^[0-9]\+\.[0-9]\+\.[0-9]\+$' | tail -1)" >> $GITHUB_OUTPUT | |
- name: Create release note | |
id: changelog | |
uses: requarks/changelog-action@v1 | |
with: | |
fromTag: ${{ github.sha }} | |
toTag: ${{ steps.previousTag.outputs.previousTag}} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
writeToFile: false | |
- uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: ${{ needs.check-version.outputs.release-version }} | |
target_commitish: ${{ github.head_ref || github.ref }} | |
name: ${{ needs.check-version.outputs.release-version }} | |
body: ${{steps.changelog.outputs.changes}} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
build-release: | |
needs: create-release | |
runs-on: ubuntu-latest | |
steps: | |
- name: Extract branch name | |
shell: bash | |
run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >>$GITHUB_OUTPUT | |
id: extract_branch | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ steps.extract_branch.outputs.branch }} | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- run: yarn | |
- run: yarn build | |
- name: Upload build | |
uses: actions/upload-artifact@v3 | |
with: | |
name: build | |
path: dist | |
docker: | |
needs: | |
- check-version | |
- build-release | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download build | |
id: download | |
uses: actions/download-artifact@v3 | |
with: | |
name: build | |
path: dist | |
- name: Publish to Registry | |
uses: elgohr/Publish-Docker-Github-Action@v5 | |
with: | |
name: inseefr/public-enemy | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
tags: "${{ needs.check-version.outputs.release-version }}" |