#9589: Save layer sourceMetadata info (#9736) #1
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
# This workflow will run tests for npm and java | |
name: CI | |
on: | |
push: | |
branches: | |
- master | |
# using filter pattern: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet | |
- '[cC][0-9][0-9][0-9]-+**' # c123 or c123-something for custom branch | |
- '[0-9][0-9][0-9][0-9].[0-9][0-9].xx' # stable brances. E.g. 2021.01.xx | |
pull_request: | |
branches: | |
- master | |
# using filter pattern: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet | |
- '[cC][0-9][0-9][0-9]-+**' # c123 or c123-something for custom branch | |
- '[0-9][0-9][0-9][0-9].[0-9][0-9].xx' # stable brances. E.g. 2021.01.xx | |
jobs: | |
test-front-end: | |
runs-on: ubuntu-latest | |
steps: | |
- name: "checking out" | |
uses: actions/checkout@v3 | |
- name: "setting up npm" | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '16.x' | |
############ | |
# CACHING | |
########## | |
- name: "cache node modules" | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
############### | |
# NPM CHECKS | |
############# | |
- name: npm install | |
run: npm install | |
- name: ESlint | |
run: npm run lint | |
- name: Doc build | |
run: npm run jsdoc:build | |
- name: Check i18n | |
run: npm run i18n | |
- name: Unit Tests | |
run: npm test -- --reporters mocha,coverage,coveralls | |
- name: Coveralls | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
test-back-end: | |
runs-on: ubuntu-latest | |
steps: | |
- name: "checking out" | |
uses: actions/checkout@v3 | |
########### | |
# SET UP | |
######### | |
- name: "setting up Java" | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '11.x' | |
- name: "cache maven dependencies" | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository | |
key: mapstore-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
mapstore-${{ runner.os }}-maven- | |
################ | |
# JAVA CHECKS | |
############## | |
- name: java | |
run: mvn --batch-mode --update-snapshots verify -Pprintingbundle,binary | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: "checking out" | |
uses: actions/checkout@v3 | |
########### | |
# SET UP | |
######### | |
- name: "setting up Java" | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '11.x' | |
- name: "setting up npm" | |
uses: actions/setup-node@v2 | |
with: | |
node-version: '16.x' | |
############ | |
# CACHING | |
########## | |
- name: "cache node modules" | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: "cache maven dependencies" | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository | |
key: mapstore-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
mapstore-${{ runner.os }}-maven- | |
############### | |
# NPM CHECKS | |
############# | |
- name: npm install | |
run: npm install | |
- name: compile | |
run: npm run fe:build | |
################ | |
# JAVA CHECKS | |
############## | |
- name: java | |
run: mvn --batch-mode --update-snapshots verify | |
build-publish: | |
runs-on: ubuntu-latest | |
if: ${{ github.event_name == 'push' && github.repository == 'geosolutions-it/MapStore2' }} | |
needs: [test-front-end, test-back-end, build] | |
steps: | |
- name: "checking out" | |
uses: actions/checkout@v3 | |
- name: "setting up npm" | |
uses: actions/setup-node@v2 | |
with: | |
node-version: '16.x' | |
- name: "setting up Java" | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '11.x' | |
############ | |
# Publish | |
########## | |
- name: Set up Maven Central Repository | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '11' | |
distribution: 'temurin' | |
server-id: geosolutions | |
server-username: MAVEN_USERNAME | |
server-password: MAVEN_PASSWORD | |
- name: Publish maven packages | |
run: mvn clean install deploy -f java/pom.xml | |
env: | |
MAVEN_USERNAME: ${{ secrets.GS_MAVEN_USERNAME }} | |
MAVEN_PASSWORD: ${{ secrets.GS_MAVEN_PASSWORD }} | |