Skip to content

Commit

Permalink
ci: switch to GHA
Browse files Browse the repository at this point in the history
  • Loading branch information
dsanders11 committed Jan 12, 2025
1 parent 7b18a69 commit a63b21d
Show file tree
Hide file tree
Showing 7 changed files with 126 additions and 210 deletions.
90 changes: 0 additions & 90 deletions .circleci/config.yml

This file was deleted.

35 changes: 35 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Release

on:
push:
branches:
- main

jobs:
test:
uses: ./.github/workflows/test.yml

release:
name: Release
runs-on: ubuntu-latest
needs: test
environment: npm
permissions:
id-token: write # for CFA and npm provenance
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20.x
cache: 'yarn'
- name: Install
run: yarn install --frozen-lockfile
- uses: continuousauth/action@732eeb237ac0a0b330a7247f744ddc57898ff9c4 # v1.0.4
with:
project-id: ${{ secrets.CFA_PROJECT_ID }}
secret: ${{ secrets.CFA_SECRET }}
npm-token: ${{ secrets.NPM_TOKEN }}
77 changes: 77 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Test

on:
pull_request:
branches:
- main
schedule:
- cron: '0 22 * * 3'
workflow_call:

permissions:
contents: read

jobs:
test:
name: Test
strategy:
matrix:
node-version:
- '20.9'
- '18.17'
- '16.20'
- '14.16'
- '12.22'
os:
- macos-latest
- ubuntu-latest
- windows-latest
exclude:
- os: windows-latest
node-version: '14.16'
- os: windows-latest
node-version: '12.22'
runs-on: "${{ matrix.os }}"
env:
GYP_MSVS_VERSION: '2022'
steps:
- run: git config --global core.autocrlf input
- name: Install Rosetta
if: ${{ matrix.os == 'macos-latest' && (matrix.node-version == '14.16' || matrix.node-version == '12.22') }}
run: /usr/sbin/softwareupdate --install-rosetta --agree-to-license
- name: Enable Long Paths (Windows)
if : ${{ matrix.os == 'windows-latest' }}
run: |
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
- name: Setup distutils (Windows)
if : ${{ matrix.os == 'windows-latest' }}
run: pip3 install setuptools
- name: Setup distutils (macOS)
if : ${{ matrix.os == 'macos-latest' }}
run: pip3 --break-system-packages --user install setuptools
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup Node.js
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: "${{ matrix.node-version }}"
cache: 'yarn'
architecture: ${{ matrix.os == 'macos-latest' && (matrix.node-version == '14.16' || matrix.node-version == '12.22') && 'x64' || env.RUNNER_ARCH }}
- name: Update npm
if: ${{ matrix.node-version == '14.16' || matrix.node-version == '12.22' }}
run: npm install -g npm@8 # Update npm so it works with latest Python 3
- name: Install
run: yarn install --frozen-lockfile
- name: Lint
run: yarn run lint
- name: Test & Report Coverage
env:
DEBUG: electron-rebuild
run: |
yarn run coverage
yarn run coverage:report
- name: Upload coverage to Codecov
uses: codecov/codecov-action@1e68e06f1dbfde0e4cefc87efeba9e4643565303 # v5.1.2
with:
files: ./coverage.lcov
token: ${{ secrets.CODECOV_TOKEN }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ lib-cov
# Coverage directory used by tools like istanbul
coverage
.nyc_output
coverage.lcov

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Electron Rebuild

[![CircleCI](https://circleci.com/gh/electron/rebuild.svg?style=svg)](https://circleci.com/gh/electron/rebuild)
[![Test](https://github.com/electron/rebuild/actions/workflows/test.yml/badge.svg)](https://github.com/electron/rebuild/actions/workflows/test.yml)
[![NPM](https://img.shields.io/npm/v/@electron/rebuild.svg?style=flat)](https://npm.im/@electron/rebuild)
[![Coverage Status](https://codecov.io/gh/electron/rebuild/branch/main/graph/badge.svg)](https://codecov.io/gh/electron/rebuild)

Expand Down
6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
"main": "lib/main.js",
"typings": "lib/main.d.ts",
"scripts": {
"codecov": "nyc report --reporter=text-lcov > coverage.lcov && codecov",
"compile": "tsc",
"coverage": "npm run prewarm-headers && nyc npm run spec",
"coverage:report": "nyc report --reporter=text-lcov > coverage.lcov",
"watch": "tsc -w",
"prepare": "npm run compile",
"mocha": "cross-env TS_NODE_FILES=true mocha",
Expand Down Expand Up @@ -41,6 +41,9 @@
"engines": {
"node": ">=12.13.0"
},
"publishConfig": {
"provenance": true
},
"dependencies": {
"@electron/node-gyp": "https://github.com/electron/node-gyp#06b29aafb7708acef8b3669835c8a7857ebc92d2",
"@malept/cross-spawn-promise": "^2.0.0",
Expand Down Expand Up @@ -73,7 +76,6 @@
"@typescript-eslint/parser": "^4.0.1",
"chai": "^4.2.0",
"chai-as-promised": "^7.1.1",
"codecov": "^3.7.2",
"cross-env": "^7.0.2",
"electron": "^22.0.0",
"eslint": "^7.7.0",
Expand Down
Loading

0 comments on commit a63b21d

Please sign in to comment.