main
yml 64 lines 1.98 KB
Raw
1 name: test & maybe release
2
3 on:
4 push:
5 branches:
6 - main
7 pull_request:
8 workflow_dispatch:
9
10 permissions:
11 contents: write
12 id-token: write
13 packages: write
14 pull-requests: write
15
16 concurrency:
17 group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event_name == 'push' && github.sha || github.ref }}
18 cancel-in-progress: true
19
20 jobs:
21 js-test-and-release:
22 uses: ipdxco/unified-github-workflows/.github/workflows/js-test-and-release.yml@v1.0
23 secrets:
24 DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
25 DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
26 NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
27 UCI_GITHUB_TOKEN: ${{ secrets.UCI_GITHUB_TOKEN }}
28 CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
29
30 ## Detect changs to the devtools package
31 changes:
32 runs-on: ubuntu-latest
33 outputs:
34 devtools-changed: ${{ steps.changes.outputs.devtools }}
35 steps:
36 - uses: actions/checkout@v5
37 - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
38 id: changes
39 with:
40 filters: |
41 devtools:
42 - 'packages/libp2p-devtools/**'
43
44 publish-extension:
45 runs-on: ubuntu-latest
46 needs: [js-test-and-release, changes]
47 if: needs.js-test-and-release.outputs.release == 'true' && needs.changes.outputs.devtools-changed == 'true'
48 steps:
49 - uses: actions/checkout@v5
50 with:
51 persist-credentials: false
52 - uses: actions/setup-node@v4
53 with:
54 node-version: lts/*
55 - uses: ipfs/aegir/actions/cache-node-modules@main
56 - run: npm run package
57 working-directory: 'packages/libp2p-devtools'
58 - run: npm run publish:chrome-store
59 working-directory: 'packages/libp2p-devtools'
60 env:
61 CHROME_CLIENT_ID: ${{ secrets.CHROME_CLIENT_ID }}
62 CHROME_CLIENT_SECRET: ${{ secrets.CHROME_CLIENT_SECRET }}
63 CHROME_REFRESH_TOKEN: ${{ secrets.CHROME_REFRESH_TOKEN }}
64 CHROME_EXTENSION_ID: ${{ vars.CHROME_EXTENSION_ID }}