diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 0bbfdcd..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,57 +0,0 @@ -version: 2 -jobs: - build: - - working_directory: ~/circleci-seleniumHelper # directory where steps will run - - environment: - MAVEN_OPTS: -Xmx3200m - - docker: #https://github.com/CircleCI-Public/circleci-dockerfiles - - image: circleci/openjdk:8-jdk-stretch-browsers # ...with this image as the primary container; this is where all `steps` will run - - steps: - - - checkout - - - restore_cache: # restore the saved cache after the first run or if `pom.xml` has changed - # Read about caching dependencies: https://circleci. - keys: - - circleci-seleniumHelper-{{ checksum "pom.xml" }} - - circleci-seleniumHelper- - - - run: mvn dependency:go-offline # gets the project dependencies - - - run: - name: Java version - command: java -version - - run: - name: mvn version - command: mvn -v - - run: - name: mvn verify - command: mvn verify # run the actual tests - - - save_cache: # saves the project dependencies - paths: - - ~/.m2 - key: circleci-seleniumHelper-{{ checksum "pom.xml" }} - - - run: - name: make name easier - command: cp target/seleniumHelper-*.jar seleniumHelper.jar # run the actual tests - - - store_test_results: # uploads the test metadata from the `target/surefire-reports` directory so that it can show up in the CircleCI dashboard. - # Upload test results for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/ - path: target/surefire-reports - - store_test_results: - path: target/screenprints/current - - store_test_results: - path: target/failsafe-reports - - store_test_results: - path: target/dependency-check-report.html - - - store_artifacts: # store the uberjar as an artifact - # Upload test summary for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ - path: target/seleniumHelper.jar - # See https://circleci.com/docs/2.0/deployment-integrations/ for deploy examples diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 61e04f0..cedfa86 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,35 +6,4 @@ updates: interval: daily time: "19:00" open-pull-requests-limit: 10 - ignore: - - dependency-name: org.owasp:dependency-check-maven - versions: - - 6.1.2 - - 6.1.3 - - 6.1.4 - - dependency-name: net.sourceforge.htmlunit:htmlunit - versions: - - 2.46.0 - - 2.48.0 - - dependency-name: org.seleniumhq.selenium:htmlunit-driver - versions: - - 2.46.0 - - 2.48.0 - - dependency-name: net.sourceforge.pmd:pmd-java - versions: - - 6.30.0 - - 6.32.0 - - dependency-name: net.sourceforge.pmd:pmd-core - versions: - - 6.30.0 - - 6.32.0 - - dependency-name: com.puppycrawl.tools:checkstyle - versions: - - "8.39" - - "8.41" - - dependency-name: org.assertj:assertj-core - versions: - - 3.19.0 - - dependency-name: io.github.bonigarcia:webdrivermanager - versions: - - 4.3.1 + diff --git a/.github/workflows/githubPackage.yml b/.github/workflows/githubPackage.yml new file mode 100644 index 0000000..0281e93 --- /dev/null +++ b/.github/workflows/githubPackage.yml @@ -0,0 +1,131 @@ +# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created +# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages + +name: Publish NPM Github Package store + +on: + push: + #On versioned releases + tags: + - v*.*.* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force: + type: choice + description: Retry Publish Version + options: + - No + - Yes + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + jdk: [ '21' ] + name: Lint, Test, Build and Deploy on Node ${{ matrix.jdk }} + steps: + - uses: actions/checkout@v4 + + - name: Cache Maven packages + id: cache-nvm + uses: actions/cache@v4 + with: + path: ~/.m2 + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('pom.xml') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + + - name: Set up JDK ${{ matrix.jdk }} + uses: actions/setup-java@v4 + with: + distribution: 'zulu' # See 'Supported distributions' for available options + java-version: '${{ matrix.jdk }}' + + - name: Get Versions + run: | + echo "Google chrome version" + google-chrome --version + echo "firefox version" + firefox --version + echo "temp folder: ${{ runner.temp }}" + + - name: Build with Maven + run: mvn --batch-mode --update-snapshots verify -Djava.io.tmpdir=${{ runner.temp }} + + - run: mkdir dist && cp target/*.jar dist + + - uses: actions/upload-artifact@v4 + with: + name: Package + path: dist + + + publish-gpr: + needs: build + env: + #When run on push tags, force is '', default for workflow_dispatch is No so you can't trigger without a double action + DO_DEPLOYMENT: ${{ github.event_name != 'workflow_dispatch' || github.event.inputs.force == 'Yes' }} + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + id-token: write + steps: + - uses: actions/checkout@v4 + + - name: Cache Maven packages + id: cache-nvm + uses: actions/cache@v4 + with: + path: ~/.m2 + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('pom.xml') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + distribution: 'zulu' # See 'Supported distributions' for available options + java-version: '21' + + - name: Get Versions + run: | + echo "Google chrome version" + google-chrome --version + echo "firefox version" + firefox --version + echo "temp folder: ${{ runner.temp }}" + + - name: Build with Maven + run: mvn --batch-mode --update-snapshots verify -Djava.io.tmpdir=${{ runner.temp }} + + - run: mkdir dist && cp target/*.jar dist + + - uses: actions/upload-artifact@v4 + with: + name: Package + path: dist + + - name: Publish package + run: mvn --batch-mode deploy + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Publish + run: npm publish --provenance --access=public --tag ${{ steps.latest_tag.outputs.latest-tag }} + if: ${{ env.DO_DEPLOYMENT == 'true' }} + env: + NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} + + - name: Publish - Skipped + if: ${{ env.DO_DEPLOYMENT != 'true' }} + run: | + echo "### Publish skipped" >> $GITHUB_STEP_SUMMARY + echo "DO_DEPLOYMENT( ${{ env.DO_DEPLOYMENT }} ): github.event_name: ${{ github.event_name != 'workflow_dispatch'}} || github.event.inputs.force: ${{ github.event.inputs.force == 'Yes' }}" >> $GITHUB_STEP_SUMMARY + diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a7635b6..2baf9e0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,11 +6,25 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 + - uses: actions/checkout@v4 + + - name: Cache Maven packages + id: cache-nvm + uses: actions/cache@v4 + with: + path: ~/.m2 + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('pom.xml') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + + - name: Set up JDK 21 + uses: actions/setup-java@v4 with: - java-version: 1.8 + distribution: 'zulu' # See 'Supported distributions' for available options + java-version: '21' + - name: Get Versions run: | echo "Google chrome version" @@ -18,16 +32,13 @@ jobs: echo "firefox version" firefox --version echo "temp folder: ${{ runner.temp }}" - - name: Cache Maven packages - uses: actions/cache@v2 - with: - path: ~/.m2 - key: ${{ runner.os }}-m2-${{ hashFiles('pom.xml') }} - restore-keys: ${{ runner.os }}-m2 + - name: Build with Maven run: mvn --batch-mode --update-snapshots verify -Djava.io.tmpdir=${{ runner.temp }} - - run: mkdir staging && cp target/*.jar staging - - uses: actions/upload-artifact@v2 + + - run: mkdir dist && cp target/*.jar dist + + - uses: actions/upload-artifact@v4 with: name: Package - path: staging + path: dist diff --git a/pom.xml b/pom.xml index ee4744d..e43b03a 100644 --- a/pom.xml +++ b/pom.xml @@ -13,22 +13,36 @@ HEAD + + + github + + + central + https://repo1.maven.org/maven2 + + + github + https://maven.pkg.github.com/qld-gov-au/seleniumHelper + + true + + + + + + - nexus - Nexus - https://nexus.tools.services.qld.gov.au/nexus/repository/releases + github + GitHub Packages + https://maven.pkg.github.com/qld-gov-au/seleniumHelper - - nexus - Nexus - https://nexus.tools.services.qld.gov.au/nexus/repository/snapshots - UTF-8 - 1.8 + 21 @ ${java.version} UTF-8 @@ -109,7 +123,7 @@ testjunitjunit4.13.2 testorg.assertjassertj-core3.22.0 - testch.qos.logbacklogback-classic1.2.11 + testch.qos.logbacklogback-classic1.5.6 org.slf4jslf4j-api