-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #734 from InseeFr/v3-develop
V3 develop
- Loading branch information
Showing
395 changed files
with
171,592 additions
and
53,033 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
name: Build release | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'v3-main' | ||
paths-ignore: ['docs/**', 'logo/**', 'README**.md'] | ||
|
||
jobs: | ||
|
||
check-version: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
release-version: ${{ steps.version-step.outputs.version }} | ||
steps: | ||
- name: Set up JDK 17 | ||
uses: actions/setup-java@v3 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
|
||
- name: Checkout Eno repo | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Gradle | ||
uses: gradle/gradle-build-action@v2 | ||
|
||
- name: Get Eno Version | ||
id: version-step | ||
run: | | ||
./gradlew # (load the gradle wrapper, required for the get version step) | ||
echo "version=$(./gradlew printVersion --console=plain -q)" >> $GITHUB_OUTPUT | ||
- name: Print Eno Version | ||
run: echo ${{ steps.version-step.outputs.version }} | ||
|
||
- uses: mukunku/[email protected] | ||
name: Check tag existence | ||
id: check-tag-exists | ||
with: | ||
tag: ${{ steps.version-step.outputs.version }} | ||
|
||
- name: Tag verification | ||
id: check-tag | ||
run: | | ||
if [[ "${{ steps.check-tag-exists.outputs.exists }}" == "true" ]]; then | ||
echo "Nothing to tag/release, the tag ${{ steps.version-step.outputs.version }} already exists" | ||
exit 1 | ||
fi | ||
if ! [[ "${{ steps.version-step.outputs.version }}" =~ ^[0-9]+.[0-9]+.[0-9]+$ ]]; then | ||
echo "Nothing to tag/release, the tag ${{ steps.version-step.outputs.version }} is not in correct format X.Y.Z" | ||
exit 1 | ||
fi | ||
build-sources: | ||
needs: check-version | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Set up JDK 17 | ||
uses: actions/setup-java@v3 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
|
||
- name: Setup Gradle | ||
uses: gradle/gradle-build-action@v2 | ||
|
||
- uses: actions/checkout@v3 | ||
- name: Build Eno modules | ||
run: ./gradlew build | ||
|
||
- name: Upload Eno-WS jar | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: eno-ws-jar | ||
path: ./eno-ws/build/libs/*.jar | ||
|
||
create-tag: | ||
needs: [ check-version, build-sources ] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: rickstaa/action-create-tag@v1 | ||
with: | ||
tag: ${{ needs.check-version.outputs.release-version }} | ||
|
||
# create-release: # replaced with create-tag while v3 is not the main branch | ||
# needs: [ check-version, build-sources ] | ||
# runs-on: ubuntu-latest | ||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# with: | ||
# ref: ${{ github.ref }} | ||
# fetch-depth: 0 | ||
# | ||
# - name: Get previous final release 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 }} | ||
|
||
publish-docker: | ||
needs: [ check-version, create-tag ] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Download Eno-WS jar | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: eno-ws-jar | ||
path: ./eno-ws/build/libs | ||
|
||
- name: Publish to Docker Hub | ||
uses: elgohr/Publish-Docker-Github-Action@v5 | ||
with: | ||
name: inseefr/eno-ws | ||
username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
default_branch: ${{ github.ref }} | ||
tags: ${{ needs.check-version.outputs.release-version }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
name: Build snapshot | ||
|
||
on: | ||
pull_request: | ||
types: [labeled] | ||
paths-ignore: ['docs/**', 'logo/**', 'README**.md'] | ||
|
||
jobs: | ||
|
||
check-version: | ||
if: ${{ contains(github.event.pull_request.labels.*.name, 'deploy-snapshot') }} | ||
runs-on: ubuntu-latest | ||
outputs: | ||
release-version: ${{ steps.version-step.outputs.version }} | ||
steps: | ||
- name: Set up JDK 17 | ||
uses: actions/setup-java@v3 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
|
||
- name: Checkout Eno repo | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Gradle | ||
uses: gradle/gradle-build-action@v2 | ||
|
||
- name: Get Eno Version | ||
id: version-step | ||
run: | | ||
./gradlew # (load the gradle wrapper, required for the get version step) | ||
echo "version=$(./gradlew printVersion --console=plain -q)" >> $GITHUB_OUTPUT | ||
- name: Print Eno Version | ||
run: echo ${{ steps.version-step.outputs.version }} | ||
|
||
- uses: mukunku/[email protected] | ||
name: Check tag existence | ||
id: check-tag-exists | ||
with: | ||
tag: ${{ steps.version-step.outputs.version }} | ||
|
||
- name: Tag verification | ||
id: check-tag | ||
run: | | ||
if [[ "${{ steps.check-tag-exists.outputs.exists }}" == "true" ]]; then | ||
echo "Nothing to tag/release, the tag ${{ steps.version-step.outputs.version }} already exists" | ||
exit 1 | ||
fi | ||
if ! [[ "${{ steps.version-step.outputs.version }}" =~ ^[0-9]+.[0-9]+.[0-9]+-SNAPSHOT$ ]]; then | ||
echo "Nothing to tag/release, the tag ${{ steps.version-step.outputs.version }} is not in correct format X.Y.Z-SNAPSHOT" | ||
exit 1 | ||
fi | ||
build-sources: | ||
needs: check-version | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Set up JDK 17 | ||
uses: actions/setup-java@v3 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
|
||
- name: Setup Gradle | ||
uses: gradle/gradle-build-action@v2 | ||
|
||
- uses: actions/checkout@v3 | ||
- name: Build Eno modules | ||
run: ./gradlew build | ||
|
||
- name: Upload Eno-WS jar | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: eno-ws-jar | ||
path: ./eno-ws/build/libs/*.jar | ||
|
||
create-tag: | ||
needs: [ check-version, build-sources ] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Create tag | ||
uses: actions/github-script@v6 | ||
with: | ||
script: | | ||
github.rest.git.createRef({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
ref: 'refs/tags/${{ needs.check-version.outputs.release-version }}', | ||
sha: context.sha | ||
}) | ||
publish-docker: | ||
needs: [ check-version, create-tag ] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Download Eno-WS jar | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: eno-ws-jar | ||
path: ./eno-ws/build/libs | ||
|
||
- name: Publish to Docker Hub | ||
uses: elgohr/Publish-Docker-Github-Action@v5 | ||
with: | ||
name: inseefr/eno-ws | ||
username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
default_branch: ${{ github.ref }} | ||
tags: ${{ needs.check-version.outputs.release-version }} | ||
|
||
write-comment: | ||
needs: [ check-version, publish-docker ] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/github-script@v6 | ||
with: | ||
script: | | ||
github.rest.issues.createComment({ | ||
issue_number: context.issue.number, | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
body: '👋 Version ${{ needs.check-version.outputs.release-version }} deployed on docker hub' | ||
}) | ||
remove-deploy-label: | ||
needs: write-comment | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions-ecosystem/action-remove-labels@v1 | ||
with: | ||
labels: deploy-snapshot |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: Eno V3 test | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- 'v3-main' | ||
types: [opened, synchronize, reopened, ready_for_review] | ||
paths-ignore: ['docs/**', 'logo/**', 'Dockerfile', 'README**.md'] | ||
|
||
jobs: | ||
test: | ||
if: ${{ (github.event.pull_request.draft == false) && !contains(github.event.pull_request.labels.*.name, 'deploy-snapshot') }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Set up JDK 17 | ||
uses: actions/setup-java@v3 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
|
||
- name: Setup Gradle | ||
uses: gradle/gradle-build-action@v2 | ||
|
||
- name: You shall not pass! | ||
run: ./gradlew test |
Oops, something went wrong.