Skip to content

Merge pull request #150 from Geoportail-Luxembourg/GSLUX-736-fit-draw… #67

Merge pull request #150 from Geoportail-Luxembourg/GSLUX-736-fit-draw…

Merge pull request #150 from Geoportail-Luxembourg/GSLUX-736-fit-draw… #67

Workflow file for this run

name: CI_package
on:
push:
branches:
- 'main'
tags:
- '*'
jobs:
tag-version:
if: github.ref_type != 'tag'
runs-on: ubuntu-latest
steps:
- name: checkout ${{ github.head_ref }}
uses: actions/checkout@v4
with:
# default depth is 1, but we need the parent refs
fetch-depth: 2
- name: compute tag name
shell: bash
run: |
branch=$([[ $(git log --pretty="%p" -n 1 | wc -w) -gt 1 ]] \
&& echo $(git log -n 1 --pretty="%s" | sed "s|.*Geoportail-Luxembourg/\(.*\)|\1|") \
|| git branch --show-current)
echo $branch
echo "AUTO_TAG=${branch}_CI_$(git log -n 1 --pretty=%h)" >> $GITHUB_ENV
- name: tag ${{ github.head_ref }}
run: |
git tag ${{ env.AUTO_TAG }}
git push --tags
lux-package:
# the combination (if always) + (needs tag-version) makes sure the lux-package job runs
# after completion of the tag-version job.
# In case of a tag push, the tag-version job is skipped but the lux-package job will run
# In case of a closed PR, the tag-version job runs first, the lux-package job runs after completion
if: ${{ always() }}
needs: tag-version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
fetch-depth: 2
- name: compute tag name
shell: bash
run: |
branch=$([[ $(git log --pretty="%p" -n 1 | wc -w) -gt 1 ]] \
&& echo $(git log -n 1 --pretty="%s" | sed "s|.*Geoportail-Luxembourg/\(.*\)|\1|") \
|| git branch --show-current)
echo $branch
echo "AUTO_TAG=${branch}_CI_$(git log -n 1 --pretty=%h)" >> $GITHUB_ENV
- name: create release
id: create_release
uses: octokit/request-action@v2.x
with:
# secrets.GITHUB_TOKEN is a secret only valid for one CI execution
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
route: POST /repos/{owner}/{repo}/releases
owner: 'Geoportail-Luxembourg'
repo: 'luxembourg-geoportail'
tag_name: ${{ github.ref_type == 'tag' && github.ref || env.AUTO_TAG }}
- uses: actions/setup-node@v3
with:
node-version: 16
cache: 'npm'
- name: Build and pack prod library
shell: bash
run: |
npm ci
npm run build:lib:prod
npm pack
- name: upload manually
run: |
project_name=$(npm run env | grep "npm_package_name" | sed s/npm_package_name=//)
pkg_name=$(ls $project_name-*)
lib_name=$(echo $pkg_name | sed s/luxembourg-geoportail-/luxembourg-geoportail-lib-/)
curl -X POST "https://uploads.github.com/repos/$owner/$repo/releases/$id/assets?name=$lib_name" --header "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" -H "Content-Type: application/octet-stream" --data-binary "@$pkg_name"
env:
owner: 'Geoportail-Luxembourg'
repo: 'luxembourg-geoportail'
id: ${{ fromJSON(steps.create_release.outputs.data).id }}