| name: Nightly |
| on: |
| schedule: |
| - cron: 0 0 * * * |
| workflow_dispatch: |
| inputs: |
| version: |
| description: Nightly version number (e.g. 20221125) |
| required: false |
| type: string |
| default: '' |
| language: |
| description: Language artefacts |
| required: true |
| type: choice |
| default: "ruby" |
| options: |
| - java |
| - ruby |
| - python |
| - grid |
| - dotnet |
| - javascript |
| |
| jobs: |
| ruby: |
| if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'ruby' || github.event_name == 'schedule') |
| name: Ruby |
| uses: ./.github/workflows/bazel.yml |
| strategy: |
| fail-fast: false |
| matrix: |
| gem: |
| - selenium-webdriver |
| with: |
| name: Nightly Ruby Release |
| cache-key: rb-nightly-${{ matrix.gem }} |
| run: | |
| export GEM_HOST_API_KEY="Bearer $GITHUB_TOKEN" |
| bazel run //rb:${{ matrix.gem }}-bump-nightly-version ${{ inputs.version }} |
| bazel run //rb:${{ matrix.gem }}-release-nightly |
| |
| python: |
| if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'python' || github.event_name == 'schedule') |
| name: Python |
| uses: ./.github/workflows/bazel.yml |
| with: |
| name: Nightly Python Release |
| cache-key: python-nightly |
| run: | |
| ./go "py:version[nightly]" |
| ./go py:build |
| pip install twine |
| twine upload --repository testpypi bazel-bin/py/selenium-4*.whl bazel-bin/py/selenium-4*.tar.gz |
| secrets: inherit |
| |
| |
| java: |
| if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'java' || github.event_name == 'schedule') |
| name: Java |
| uses: ./.github/workflows/bazel.yml |
| with: |
| name: Nightly Java Release |
| cache-key: java-nightly |
| run: | |
| ./go publish-maven-snapshot |
| secrets: inherit |
| |
| dotnet: |
| if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'dotnet' || github.event_name == 'schedule') |
| name: DotNet |
| uses: ./.github/workflows/bazel.yml |
| with: |
| name: Nightly DotNet Release |
| cache-key: dotnet-nightly |
| dotnet-version: '6.x' |
| run: | |
| ./go "dotnet:version[nightly]" |
| ./go dotnet:release |
| secrets: inherit |
| |
| grid: |
| if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'grid' || github.event_name == 'schedule') |
| name: Grid |
| uses: ./.github/workflows/bazel.yml |
| with: |
| name: Nightly Grid Release |
| cache-key: grid-nightly |
| run: | |
| echo build --stamp >>.bazelrc.local |
| ./go java-release-zip |
| nightly-release-files: build/dist/*.* |
| |
| javascript: |
| if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'javascript' || github.event_name == 'schedule') |
| name: JavaScript |
| uses: ./.github/workflows/bazel.yml |
| with: |
| name: Nightly JavaScript Release |
| cache-key: javascript-nightly |
| node-version: '18.x' |
| run: | |
| sed -i 's|https://registry.npmjs.org/|https://npm.pkg.github.com|g' javascript/node/selenium-webdriver/package.json |
| sed -i 's|"name": "selenium-webdriver"|"name": "@seleniumhq/selenium-webdriver"|g' javascript/node/selenium-webdriver/package.json |
| echo "//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}" >> .npmrc |
| echo "@seleniumhq:registry=https://npm.pkg.github.com" >> .npmrc |
| echo "always-auth=true" >> .npmrc |
| ./go "node:version[nightly]" |
| ./go node:release |
| secrets: inherit |