Skip to content

Commit dc49b29

Browse files
committed
ci: switch to GHA
1 parent 7ac000c commit dc49b29

File tree

6 files changed

+129
-88
lines changed

6 files changed

+129
-88
lines changed

.circleci/config.yml

-87
This file was deleted.

.github/workflows/build.yml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Build
2+
3+
on:
4+
workflow_call:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
build:
11+
name: Build
12+
strategy:
13+
matrix:
14+
os:
15+
- macos-latest
16+
- ubuntu-latest
17+
# - windows-latest
18+
runs-on: "${{ matrix.os }}"
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
22+
- name: Setup Node.js
23+
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
24+
with:
25+
node-version: '18.18'
26+
cache: 'yarn'
27+
- name: Install
28+
run: yarn install --frozen-lockfile
29+
- name: Build alternative architecture (macOS)
30+
if: ${{ matrix.os == 'macos-latest' }}
31+
run: MINIDUMP_BUILD_ARCH=arm64 node build.js
32+
- name: Upload build artifacts
33+
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
34+
with:
35+
name: bin
36+
path: bin/

.github/workflows/release.yml

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
test:
10+
uses: ./.github/workflows/test.yml
11+
12+
build:
13+
uses: ./.github/workflows/build.yml
14+
15+
release:
16+
name: Release
17+
runs-on: ubuntu-latest
18+
needs: [test, build]
19+
environment: npm
20+
permissions:
21+
id-token: write # for CFA and npm provenance
22+
steps:
23+
- name: Checkout
24+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
25+
with:
26+
persist-credentials: false
27+
- name: Setup Node.js
28+
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
29+
with:
30+
node-version: 20.x
31+
cache: 'yarn'
32+
- name: Install
33+
run: yarn install --frozen-lockfile
34+
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
35+
with:
36+
name: bin
37+
path: bin/
38+
- uses: continuousauth/action@732eeb237ac0a0b330a7247f744ddc57898ff9c4 # v1.0.4
39+
with:
40+
project-id: ${{ secrets.CFA_PROJECT_ID }}
41+
secret: ${{ secrets.CFA_SECRET }}
42+
npm-token: ${{ secrets.NPM_TOKEN }}

.github/workflows/test.yml

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Test
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
schedule:
8+
- cron: '0 22 * * 3'
9+
workflow_call:
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
test:
16+
name: Test
17+
strategy:
18+
matrix:
19+
node-version:
20+
- '20.10'
21+
- '18.18'
22+
- '16.20'
23+
- '14.21'
24+
os:
25+
- macos-latest
26+
- ubuntu-latest
27+
# - windows-latest
28+
exclude:
29+
- os: macos-latest
30+
node-version: '14.21'
31+
runs-on: "${{ matrix.os }}"
32+
steps:
33+
- run: git config --global core.autocrlf input
34+
- name: Checkout
35+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
36+
- name: Setup Node.js
37+
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
38+
with:
39+
node-version: "${{ matrix.node-version }}"
40+
cache: 'yarn'
41+
- name: Install
42+
run: yarn install --frozen-lockfile
43+
- name: Build alternative architecture (macOS)
44+
if: ${{ matrix.os == 'macos-latest' }}
45+
run: MINIDUMP_BUILD_ARCH=arm64 node build.js
46+
- name: Test
47+
run: yarn test

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# minidump - Process minidump files
22

3-
[![CircleCI](https://dl.circleci.com/status-badge/img/gh/electron/node-minidump/tree/main.svg?style=shield)](https://dl.circleci.com/status-badge/redirect/gh/electron/node-minidump/tree/main)
3+
[![Test](https://github.com/electron/node-minidump/actions/workflows/test.yml/badge.svg)](https://github.com/electron/node-minidump/actions/workflows/test.yml)
44
[![npm version](http://img.shields.io/npm/v/minidump.svg)](https://npmjs.org/package/minidump)
55

66
## Installing

package.json

+3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
"bugs": {
1616
"url": "https://github.com/electron/node-minidump/issues"
1717
},
18+
"publishConfig": {
19+
"provenance": true
20+
},
1821
"scripts": {
1922
"prepublishOnly": "shx chmod -R +x ./bin",
2023
"preinstall": "yarn submodule && node build.js",

0 commit comments

Comments
 (0)