Layer Selection Plugin on ArcGIS, WFS & WMS layers #5961
Workflow file for this run
This file contains hidden or 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 branches. E.g. 2021.01.xx | |
| - '[geonode]-[0-9].[0-9].x' # stable branches for GeoNode. E.g. geonode-4.4.x | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| 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 branches. E.g. 2021.01.xx | |
| - '[geonode]-[0-9].[0-9].x' # stable branches for GeoNode. E.g. geonode-4.4.x | |
| jobs: | |
| test-front-end: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: ['20.x', '22.x', '24.x'] | |
| fail-fast: false | |
| steps: | |
| - name: "checking out" | |
| uses: actions/checkout@v3 | |
| - name: "setting up npm" | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| ############ | |
| # CACHING | |
| ########## | |
| - name: "cache node modules" | |
| uses: actions/cache@v4 | |
| 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: Send coverage to Coveralls (parallel) | |
| uses: coverallsapp/github-action@master | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| parallel: true | |
| flag-name: run-${{ join(matrix.*, '-') }} | |
| test-back-end: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| java-version: ['11.x', '17.x', '21.x'] | |
| fail-fast: false | |
| steps: | |
| - name: "checking out" | |
| uses: actions/checkout@v3 | |
| ########### | |
| # SET UP | |
| ######### | |
| - name: "setting up Java" | |
| uses: actions/setup-java@v3 | |
| with: | |
| distribution: 'temurin' | |
| java-version: ${{ matrix.java-version }} | |
| - name: "cache maven dependencies" | |
| uses: actions/cache@v4 | |
| 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 | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: ['20.x', '22.x', '24.x'] | |
| java-version: ['11.x', '17.x', '21.x'] | |
| # Reduce the combinations to reduce the total number of jobs | |
| exclude: | |
| - node-version: '20.x' | |
| java-version: '17.x' | |
| - node-version: '20.x' | |
| java-version: '21.x' | |
| - node-version: '22.x' | |
| java-version: '11.x' | |
| - node-version: '22.x' | |
| java-version: '21.x' | |
| - node-version: '24.x' | |
| java-version: '11.x' | |
| - node-version: '24.x' | |
| java-version: '17.x' | |
| fail-fast: false | |
| steps: | |
| - name: "checking out" | |
| uses: actions/checkout@v3 | |
| ########### | |
| # SET UP | |
| ######### | |
| - name: "setting up Java" | |
| uses: actions/setup-java@v3 | |
| with: | |
| distribution: 'temurin' | |
| java-version: ${{ matrix.java-version }} | |
| - name: "setting up npm" | |
| uses: actions/setup-node@v2 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| ############ | |
| # CACHING | |
| ########## | |
| - name: "cache node modules" | |
| uses: actions/cache@v4 | |
| 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@v4 | |
| 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' && | |
| ( | |
| github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/20') | |
| ) | |
| 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: '20.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 | |
| # Here it deploys only java modules and root, needed for MS project builds. | |
| # Product, binary modules are to big to be hosted on the repository in snapshots, so they are skipped | |
| run: | | |
| # Setup SSH keys for SFTP | |
| mkdir -p ~/.ssh && chmod 700 ~/.ssh | |
| # add geo-solutions.it to known hosts to avoid prompts | |
| ssh-keyscan -H maven.geo-solutions.it >> ~/.ssh/known_hosts | |
| # deploys java packages | |
| mvn clean install deploy -f java/pom.xml | |
| # deploys also the root module, needed for dependencies | |
| mvn deploy --non-recursive | |
| env: | |
| MAVEN_USERNAME: ${{ secrets.GS_MAVEN_USERNAME }} | |
| MAVEN_PASSWORD: ${{ secrets.GS_MAVEN_PASSWORD }} |