chore: replace @admob-plus-internal/npm-bin with pnpm-ftw #227
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
name: CI | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
jobs: | |
test: | |
name: Node.js v${{ matrix.node-version }} on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
node-version: | |
- 20 | |
- 18 | |
- 16 | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macos-latest | |
exclude: | |
- os: macos-latest | |
node-version: 12 | |
- os: macos-latest | |
node-version: 14 | |
steps: | |
- name: Config git | |
run: git config --global core.autocrlf input | |
- uses: actions/checkout@v3 | |
- uses: browser-actions/setup-chrome@v1 | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: latest | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: pnpm | |
- name: Setup cache for Chrome binary | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/puppeteer | |
key: ${{ runner.os }}-Chrome-${{ hashFiles('package.json') }} | |
- name: Install dependencies | |
run: pnpm i || pnpm i --no-frozen-lockfile | |
- name: Test | |
run: | | |
# npm run lint | |
npm test | |
shell: bash | |
test-android: | |
name: Android on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
node-version: [20.x] | |
os: [ubuntu-latest] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: latest | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: pnpm | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: '11' | |
- uses: gradle/gradle-build-action@v2.4.2 | |
- name: Install dependencies | |
run: | | |
pnpm i || pnpm i --no-frozen-lockfile | |
pnpm npm --version | |
pnpm i | |
pnpm npm --version | |
pushd examples/cordova | |
pnpm npm --version | |
test -f ./node_modules/.bin/npm | |
popd | |
- name: Test | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: 28 | |
script: | | |
pnpm test-android | |
- name: Archive npm failure logs | |
uses: actions/upload-artifact@v3 | |
if: failure () | |
with: | |
name: npm-logs-android | |
path: ~/.npm/_logs | |
test-ios: | |
name: iOS on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
node-version: [20.x] | |
os: [macos-latest] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: latest | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: pnpm | |
- name: Install dependencies | |
run: | | |
pnpm i || pnpm i --no-frozen-lockfile | |
pnpm i | |
- name: Test | |
run: | | |
pnpm test-ios | |
- name: Archive npm failure logs | |
uses: actions/upload-artifact@v3 | |
if: failure () | |
with: | |
name: npm-logs-ios | |
path: ~/.npm/_logs | |
link-checker: | |
name: Check links | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: lychee Link Checker | |
id: lc | |
uses: lycheeverse/lychee-action@v1.8.0 | |
with: | |
args: > | |
README.md | |
packages/*/README.md | |
website/**/*.md | |
--base https://admob-plus.github.io | |
--config lychee.toml | |
fail: true | |
deploy-docs: | |
name: Deploy website | |
needs: [test] | |
if: github.event_name != 'pull_request' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: latest | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '18.x' | |
cache: pnpm | |
- uses: webfactory/ssh-agent@v0.8.0 | |
with: | |
ssh-private-key: ${{ secrets.GH_PAGES_DEPLOY }} | |
- name: Release to GitHub Pages | |
run: | | |
git config --global user.name "${GIT_USER}" | |
git config --global user.email "${{ secrets.GH_EMAIL }}" | |
pnpm i || pnpm i --no-frozen-lockfile | |
pushd website | |
npm run deploy | |
popd | |
env: | |
GIT_USER: "${{ secrets.GH_NAME }}" | |
USE_SSH: true | |
DEPLOYMENT_BRANCH: master | |
- name: Check links | |
id: lc | |
uses: lycheeverse/lychee-action@v1 | |
with: | |
args: > | |
build/**/*.html | |
--config lychee.toml | |
fail: true | |
- uses: hkusu/status-create-action@v1 | |
id: status-create | |
with: | |
sha: ${{ github.sha }} | |
state: success | |
- name: Status creation result | |
if: always() | |
run: echo '${{ steps.status-create.outputs.result }}' |