Skip to content

Commit 0dfccdf

Browse files
authored
chore(ci): run build on CI (#1121)
1 parent 69e0817 commit 0dfccdf

File tree

6 files changed

+119
-1
lines changed

6 files changed

+119
-1
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: 'Build Ionicons'
2+
description: 'Build Ionicons'
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- uses: actions/checkout@v3
7+
with:
8+
# Checkout the latest commit in this branch
9+
ref: ${{ github.event.pull_request.head.sha }}
10+
- uses: actions/setup-node@v3
11+
12+
- name: Cache Node Modules
13+
uses: actions/cache@v3
14+
env:
15+
cache-name: node-modules
16+
with:
17+
path: ./node_modules
18+
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./package-lock.json') }}-v1
19+
- name: Install Dependencies
20+
run: npm install
21+
shell: bash
22+
- name: Build
23+
run: npm run build
24+
shell: bash
25+
- uses: ./.github/workflows/actions/upload-archive
26+
with:
27+
name: ionicons-build
28+
output: IoniconsBuild.zip
29+
paths: dist components icons
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: 'Archive Download'
2+
description: 'Downloads and decompresses an archive from a previous job'
3+
inputs:
4+
path:
5+
description: 'Input archive name'
6+
filename:
7+
description: 'Input file name'
8+
name:
9+
description: 'Archive name'
10+
runs:
11+
using: 'composite'
12+
steps:
13+
- uses: actions/download-artifact@v2
14+
with:
15+
name: ${{ inputs.name }}
16+
path: ${{ inputs.path }}
17+
- name: Exract Archive
18+
run: unzip -q -o ${{ inputs.path }}/${{ inputs.filename }}
19+
shell: bash
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: 'Test Spec'
2+
description: 'Test Spec'
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- uses: actions/setup-node@v3
7+
8+
- name: Cache Node Modules
9+
uses: actions/cache@v3
10+
env:
11+
cache-name: node-modules
12+
with:
13+
path: ./node_modules
14+
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./package-lock.json') }}-v1
15+
- uses: ./.github/workflows/actions/download-archive
16+
with:
17+
name: ionicons-build
18+
path: .
19+
filename: IoniconsBuild.zip
20+
- name: Test
21+
run: npm run test.spec -- --ci
22+
shell: bash
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: 'Archive Upload'
2+
description: 'Compresses and uploads an archive to be reused across jobs'
3+
inputs:
4+
paths:
5+
description: 'Paths to files or directories to archive'
6+
output:
7+
description: 'Output file name'
8+
name:
9+
description: 'Archive name'
10+
runs:
11+
using: 'composite'
12+
steps:
13+
- name: Create Archive
14+
run: zip -q -r ${{ inputs.output }} ${{ inputs.paths }}
15+
shell: bash
16+
- uses: actions/upload-artifact@v2
17+
with:
18+
name: ${{ inputs.name }}
19+
path: ${{ inputs.output }}

.github/workflows/build.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: 'Ionicons Build'
2+
3+
on:
4+
pull_request:
5+
branches: [ '**' ]
6+
7+
# When pushing a new commit we should
8+
# cancel the previous test run to not
9+
# consume more runners than we need to.
10+
concurrency:
11+
group: ${{ github.ref }}
12+
cancel-in-progress: true
13+
14+
jobs:
15+
build-core:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v3
19+
with:
20+
# Checkout the latest commit in this branch
21+
ref: ${{ github.event.pull_request.head.sha }}
22+
- uses: ./.github/workflows/actions/build-core
23+
24+
test-spec:
25+
needs: [build-core]
26+
runs-on: ubuntu-latest
27+
steps:
28+
- uses: actions/checkout@v3
29+
- uses: ./.github/workflows/actions/test-spec

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"build.component": "stencil build",
2020
"collection.copy": "node scripts/collection-copy.js",
2121
"start": "stencil build --dev --watch --serve",
22-
"test": "stencil test --spec",
22+
"test.spec": "stencil test --spec",
2323
"release": "np --no-2fa",
2424
"version": "npm run build"
2525
},

0 commit comments

Comments
 (0)