chore(main): release 1.0.0 #3891
Workflow file for this run
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: | |
- main | |
pull_request: | |
branches: | |
- '**' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
with: | |
directories: | | |
./interop/dist | |
./interop/node_modules | |
check: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
- run: npm run --if-present lint | |
- run: npm run --if-present dep-check | |
- run: npm run --if-present doc-check | |
test-node: | |
needs: build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [windows-latest, ubuntu-latest, macos-latest] | |
node: [lts/*] | |
fail-fast: true | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
- run: npm run --if-present test:node | |
- uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 | |
with: | |
flags: node | |
files: .coverage/*,packages/*/.coverage/* | |
test-chrome: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
- run: npm run --if-present test:chrome | |
- uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 | |
with: | |
flags: chrome | |
files: .coverage/*,packages/*/.coverage/* | |
test-chrome-webworker: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
- run: npm run --if-present test:chrome-webworker | |
- uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 | |
with: | |
flags: chrome-webworker | |
files: .coverage/*,packages/*/.coverage/* | |
test-firefox: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
- run: npm run --if-present test:firefox | |
- uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 | |
with: | |
flags: firefox | |
files: .coverage/*,packages/*/.coverage/* | |
test-firefox-webworker: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
- run: npm run --if-present test:firefox-webworker | |
- uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 | |
with: | |
flags: firefox-webworker | |
files: .coverage/*,packages/*/.coverage/* | |
test-webkit: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
- run: npx playwright install-deps | |
- run: npm run --if-present test:webkit | |
- uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 | |
with: | |
flags: webkit | |
files: .coverage/*,packages/*/.coverage/* | |
test-electron-main: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
- run: npx xvfb-maybe npm run --if-present test:electron-main | |
- uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 | |
with: | |
flags: electron-main | |
files: .coverage/*,packages/*/.coverage/* | |
test-electron-renderer: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
- run: npx xvfb-maybe npm run --if-present test:electron-renderer | |
- uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 | |
with: | |
flags: electron-renderer | |
files: .coverage/*,packages/*/.coverage/* | |
test-interop: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
- run: npm run test:interop -- --bail | |
transport-interop: | |
needs: build | |
runs-on: ${{ fromJSON(github.repository == 'libp2p/js-libp2p' && '["self-hosted", "linux", "x64", "4xlarge"]' || '"ubuntu-latest"') }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
with: | |
directories: | | |
./interop/dist | |
./interop/node_modules | |
- name: Build images | |
run: (cd interop && make -j 4) | |
- name: Save package-lock.json as artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: package locks | |
path: | | |
package-lock.json | |
interop/package-lock.json | |
- uses: libp2p/test-plans/.github/actions/run-interop-ping-test@master | |
with: | |
test-filter: js-libp2p-head | |
test-ignore: nim | |
extra-versions: ${{ github.workspace }}/interop/node-version.json ${{ github.workspace }}/interop/chromium-version.json ${{ github.workspace }}/interop/firefox-version.json | |
s3-cache-bucket: ${{ vars.S3_LIBP2P_BUILD_CACHE_BUCKET_NAME }} | |
s3-access-key-id: ${{ vars.S3_LIBP2P_BUILD_CACHE_AWS_ACCESS_KEY_ID }} | |
s3-secret-access-key: ${{ secrets.S3_LIBP2P_BUILD_CACHE_AWS_SECRET_ACCESS_KEY }} | |
worker-count: 16 | |
release: | |
runs-on: ubuntu-latest | |
needs: [ | |
test-node, | |
test-chrome, | |
test-chrome-webworker, | |
test-firefox, | |
test-firefox-webworker, | |
test-electron-main, | |
test-electron-renderer, | |
test-interop, | |
transport-interop | |
] | |
if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
permissions: | |
contents: write | |
id-token: write | |
pull-requests: write | |
steps: | |
- uses: google-github-actions/release-please-action@v4 | |
id: release | |
with: | |
token: ${{ secrets.UCI_GITHUB_TOKEN || github.token }} | |
release-type: node | |
config-file: .release-please.json | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
registry-url: 'https://registry.npmjs.org' | |
- uses: ipfs/aegir/actions/cache-node-modules@master | |
- uses: ipfs/aegir/actions/docker-login@master | |
with: | |
docker-token: ${{ secrets.DOCKER_TOKEN }} | |
docker-username: ${{ secrets.DOCKER_USERNAME }} | |
- if: ${{ steps.release.outputs.releases_created == 'true' }} | |
name: Run release version | |
run: | | |
git update-index --assume-unchanged packages/libp2p/src/version.ts | |
npm run --if-present release | |
env: | |
GITHUB_TOKEN: ${{ secrets.UCI_GITHUB_TOKEN || github.token }} | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
- if: ${{ steps.release.outputs.releases_created != 'true' }} | |
name: Run release rc | |
run: | | |
git update-index --assume-unchanged packages/libp2p/src/version.ts | |
npm run --if-present release:rc | |
env: | |
GITHUB_TOKEN: ${{ secrets.UCI_GITHUB_TOKEN || github.token }} | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |