Skip to content

Commit

Permalink
add darwin-arm64-unknown package
Browse files Browse the repository at this point in the history
  • Loading branch information
ArturWierzbicki committed Mar 15, 2022
1 parent 029122a commit 4b04b99
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
5 changes: 3 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ workflows:
name: package-<< matrix.arch >>
matrix:
parameters:
arch: [linux-x64-glibc, darwin-x64-unknown, win32-x64-unknown]
arch: [linux-x64-glibc, darwin-x64-unknown, darwin-arm64-unknown, win32-x64-unknown]
- package:
filters: *filter-only-master
requires:
Expand All @@ -234,6 +234,7 @@ workflows:
- build
- package-linux-x64-glibc
- package-darwin-x64-unknown
- package-darwin-arm64-unknown
- package-win32-x64-unknown
- package-linux-x64-glibc-no-chromium
filters: *filter-only-master
Expand All @@ -260,7 +261,7 @@ workflows:
name: package-<< matrix.arch >>
matrix:
parameters:
arch: [linux-x64-glibc, darwin-x64-unknown, win32-x64-unknown]
arch: [linux-x64-glibc, darwin-x64-unknown, darwin-arm64-unknown, win32-x64-unknown]
skip_signing_errors: [true]

- package:
Expand Down
17 changes: 16 additions & 1 deletion scripts/download_chromium.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ const path = require('path');
const child_process = require('child_process');
const Puppeteer = require('puppeteer');
const { PUPPETEER_REVISIONS } = require('puppeteer/lib/cjs/puppeteer/revisions')
const fs = require('fs')

const archArg = process.argv[2];
let [
Expand Down Expand Up @@ -37,7 +38,21 @@ browserFetcher

let execPath = parts.join(path.sep);

child_process.execSync(`cp -RP ${execPath} ${outputPath}`);
if (platform === 'mac' && arch === 'arm64') {
// follow symlinks, dereference symlinks and copy them as files
child_process.execSync(`cp -LR ${execPath} ${outputPath}`);

const dsStore = '.DS_Store'
const dsStorePaths = [`${outputPath}/${dsStore}`, `${outputPath}/${parts[parts.length - 1]}/.DS_Store`]
for (const path of dsStorePaths) {
if (!fs.existsSync(path)) {
child_process.execSync(`touch ${path}`)
}
}
} else {
// follow symlinks, copy them as symlinks
child_process.execSync(`cp -RP ${execPath} ${outputPath}`);
}

console.log(`Chromium moved from ${execPath} to ${outputPath}/`);
process.exit(0);
Expand Down

0 comments on commit 4b04b99

Please sign in to comment.