Skip to content

Commit 55f5abc

Browse files
authored
chore: switch to unified ci (#166)
May need some more work to re-enable android testing
1 parent 18aa929 commit 55f5abc

File tree

4 files changed

+206
-112
lines changed

4 files changed

+206
-112
lines changed
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
name: test & maybe release
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request:
7+
branches:
8+
- master
9+
10+
jobs:
11+
12+
check:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v2
16+
- uses: actions/setup-node@v2
17+
with:
18+
node-version: lts/*
19+
- uses: ipfs/aegir/actions/cache-node-modules@master
20+
- run: npm run --if-present lint
21+
- run: npm run --if-present dep-check
22+
23+
test-node:
24+
needs: check
25+
runs-on: ${{ matrix.os }}
26+
strategy:
27+
matrix:
28+
os: [windows-latest, ubuntu-latest, macos-latest]
29+
node: [16]
30+
fail-fast: true
31+
steps:
32+
- uses: actions/checkout@v2
33+
- uses: actions/setup-node@v2
34+
with:
35+
node-version: ${{ matrix.node }}
36+
- uses: ipfs/aegir/actions/cache-node-modules@master
37+
- run: npm run --if-present test:node
38+
- uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0
39+
with:
40+
directory: ./.nyc_output
41+
flags: node
42+
43+
test-chrome:
44+
needs: check
45+
runs-on: ubuntu-latest
46+
steps:
47+
- uses: actions/checkout@v2
48+
- uses: actions/setup-node@v2
49+
with:
50+
node-version: lts/*
51+
- uses: ipfs/aegir/actions/cache-node-modules@master
52+
- run: npm run --if-present test:chrome
53+
- uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0
54+
with:
55+
directory: ./.nyc_output
56+
flags: chrome
57+
58+
test-chrome-webworker:
59+
needs: check
60+
runs-on: ubuntu-latest
61+
steps:
62+
- uses: actions/checkout@v2
63+
- uses: actions/setup-node@v2
64+
with:
65+
node-version: lts/*
66+
- uses: ipfs/aegir/actions/cache-node-modules@master
67+
- run: npm run --if-present test:chrome-webworker
68+
- uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0
69+
with:
70+
directory: ./.nyc_output
71+
flags: chrome-webworker
72+
73+
test-firefox:
74+
needs: check
75+
runs-on: ubuntu-latest
76+
steps:
77+
- uses: actions/checkout@v2
78+
- uses: actions/setup-node@v2
79+
with:
80+
node-version: lts/*
81+
- uses: ipfs/aegir/actions/cache-node-modules@master
82+
- run: npm run --if-present test:firefox
83+
- uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0
84+
with:
85+
directory: ./.nyc_output
86+
flags: firefox
87+
88+
test-firefox-webworker:
89+
needs: check
90+
runs-on: ubuntu-latest
91+
steps:
92+
- uses: actions/checkout@v2
93+
- uses: actions/setup-node@v2
94+
with:
95+
node-version: lts/*
96+
- uses: ipfs/aegir/actions/cache-node-modules@master
97+
- run: npm run --if-present test:firefox-webworker
98+
- uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0
99+
with:
100+
directory: ./.nyc_output
101+
flags: firefox-webworker
102+
103+
test-electron-main:
104+
needs: check
105+
runs-on: ubuntu-latest
106+
steps:
107+
- uses: actions/checkout@v2
108+
- uses: actions/setup-node@v2
109+
with:
110+
node-version: lts/*
111+
- uses: ipfs/aegir/actions/cache-node-modules@master
112+
- run: npx xvfb-maybe npm run --if-present test:electron-main
113+
- uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0
114+
with:
115+
directory: ./.nyc_output
116+
flags: electron-main
117+
118+
test-electron-renderer:
119+
needs: check
120+
runs-on: ubuntu-latest
121+
steps:
122+
- uses: actions/checkout@v2
123+
- uses: actions/setup-node@v2
124+
with:
125+
node-version: lts/*
126+
- uses: ipfs/aegir/actions/cache-node-modules@master
127+
- run: npx xvfb-maybe npm run --if-present test:electron-renderer
128+
- uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0
129+
with:
130+
directory: ./.nyc_output
131+
flags: electron-renderer
132+
133+
release:
134+
needs: [test-node, test-chrome, test-chrome-webworker, test-firefox, test-firefox-webworker, test-electron-main, test-electron-renderer]
135+
runs-on: ubuntu-latest
136+
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
137+
steps:
138+
- uses: actions/checkout@v2.4.0
139+
with:
140+
fetch-depth: 0
141+
- uses: actions/setup-node@v2
142+
with:
143+
node-version: lts/*
144+
- uses: ipfs/aegir/actions/cache-node-modules@master
145+
- uses: ipfs/aegir/actions/docker-login@master
146+
with:
147+
docker-token: ${{ secrets.DOCKER_TOKEN }}
148+
docker-username: ${{ secrets.DOCKER_USERNAME }}
149+
- run: npm run --if-present release
150+
env:
151+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
152+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

.github/workflows/main.yml

Lines changed: 0 additions & 101 deletions
This file was deleted.

.github/workflows/test-android.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: ci
2+
env:
3+
CI: true
4+
FORCE_COLOR: 1
5+
on:
6+
push:
7+
branches:
8+
- master
9+
pull_request:
10+
branches:
11+
- master
12+
13+
jobs:
14+
test-react-native-android:
15+
runs-on: macos-latest
16+
needs: check
17+
continue-on-error: true
18+
steps:
19+
- uses: actions/checkout@v2
20+
- run: npm install
21+
- uses: reactivecircus/android-emulator-runner@v2
22+
with:
23+
api-level: 29
24+
target: default
25+
arch: x86_64
26+
profile: pixel
27+
avd-name: aegir-android-29
28+
script: |
29+
npx aegir test -t react-native-android
30+
# test-react-native-ios:
31+
# runs-on: macos-latest
32+
# steps:
33+
# - uses: actions/checkout@v2
34+
# - run: npm install
35+
# - name: Create and run iOS simulator
36+
# run: |
37+
# SIMULATOR_RUNTIME=$(echo "iOS 14.4" | sed 's/[ \.]/-/g')
38+
# SIMULATOR_ID=$(xcrun simctl create "iPhone 11" com.apple.CoreSimulator.SimDeviceType.iPhone-11 com.apple.CoreSimulator.SimRuntime.$SIMULATOR_RUNTIME)
39+
# echo "IOS_SIMULATOR=$SIMULATOR_ID" >> $GITHUB_ENV
40+
# xcrun simctl boot $SIMULATOR_ID &
41+
# - run: npx rn-test --platform ios --simulator 'iPhone 11 (14.4)' --rn 0.62.0 'test/**/*.spec.js'
42+
# - name: Shutdown iOS simulator
43+
# run: |
44+
# xcrun simctl shutdown $IOS_SIMULATOR

package.json

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,17 @@
3434
},
3535
"repository": "github:ipfs/js-ipfs-utils",
3636
"scripts": {
37-
"test": "aegir test",
38-
"test:browser": "aegir test -t browser",
39-
"test:node": "aegir test -t node",
40-
"test:electron": "aegir test -t electron-main",
41-
"test:electron-renderer": "aegir test -t electron-renderer",
42-
"test:react-native:android": "aegir test -t react-native-android",
43-
"test:react-native:ios": "aegir test -t react-native-ios",
4437
"lint": "aegir lint",
45-
"release": "aegir release --docs",
46-
"release-minor": "aegir release --type minor --docs",
47-
"release-major": "aegir release --type major --docs",
48-
"build": "aegir build"
38+
"dep-check": "aegir dep-check",
39+
"build": "aegir build",
40+
"test": "aegir test",
41+
"test:chrome": "npm run test -- -t browser --cov",
42+
"test:chrome-webworker": "npm run test -- -t webworker",
43+
"test:firefox": "npm run test -- -t browser -- --browser firefox",
44+
"test:firefox-webworker": "npm run test -- -t webworker -- --browser firefox",
45+
"test:node": "npm run test -- -t node --cov",
46+
"test:electron-main": "npm run test -- -t electron-main",
47+
"release": "semantic-release"
4948
},
5049
"license": "MIT",
5150
"dependencies": {

0 commit comments

Comments
 (0)