Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desktope2e #4624

Draft
wants to merge 301 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
301 commits
Select commit Hold shift + click to select a range
8fbe060
sign the dmg
bunsenstraat Feb 29, 2024
b5b7520
arm64
bunsenstraat Feb 29, 2024
d4e5c31
config
bunsenstraat Feb 29, 2024
89c264b
config
bunsenstraat Feb 29, 2024
b72a514
arm64
bunsenstraat Feb 29, 2024
b65acce
try package
bunsenstraat Mar 1, 2024
a9c131e
pack
bunsenstraat Mar 1, 2024
06fdd22
syntax
bunsenstraat Mar 1, 2024
7a66fa0
teamId
bunsenstraat Mar 1, 2024
8e87e21
bundleId
bunsenstraat Mar 1, 2024
e39bb33
see result
bunsenstraat Mar 1, 2024
9fd3b01
logs
bunsenstraat Mar 1, 2024
2b41455
debug
bunsenstraat Mar 1, 2024
f29cf3e
zip it
bunsenstraat Mar 1, 2024
df3e45f
verify
bunsenstraat Mar 2, 2024
1f28445
Merge branch 'signmacosdesktop' of https://github.com/ethereum/remix-…
bunsenstraat Mar 2, 2024
e7618c0
dmg
bunsenstraat Mar 2, 2024
5b90f8e
rm debug
bunsenstraat Mar 2, 2024
01cdede
v2
bunsenstraat Mar 2, 2024
5bb08e0
v1
bunsenstraat Mar 2, 2024
725172b
v2
bunsenstraat Mar 2, 2024
f80480c
notarize the app too
bunsenstraat Mar 2, 2024
0f765dd
asar
bunsenstraat Mar 2, 2024
ea1f23c
afterAllArtifactBuild
bunsenstraat Mar 4, 2024
64d64b2
fix script
bunsenstraat Mar 4, 2024
240a711
sh script
bunsenstraat Mar 4, 2024
1f8e8df
zsh
bunsenstraat Mar 4, 2024
d11aaa8
rm nvm
bunsenstraat Mar 4, 2024
0575ddb
pass args
bunsenstraat Mar 4, 2024
44df523
exit
bunsenstraat Mar 4, 2024
a072b67
dmgs
bunsenstraat Mar 4, 2024
baf8ffa
xcrun
bunsenstraat Mar 4, 2024
c71f9fb
brew
bunsenstraat Mar 4, 2024
a4b7ec2
rewrite
bunsenstraat Mar 4, 2024
4d1d36c
xcrun
bunsenstraat Mar 4, 2024
295d61d
xcrun
bunsenstraat Mar 4, 2024
befef19
v12
bunsenstraat Mar 4, 2024
7805dbe
only run on circle
bunsenstraat Mar 6, 2024
046ae9d
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 6, 2024
b8bb0df
Merge branch 'desktopautoupdate' into signmacosdesktop
bunsenstraat Mar 6, 2024
cec6cc9
config
bunsenstraat Mar 6, 2024
24ab9fc
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 6, 2024
6c1d09b
add zips
bunsenstraat Mar 6, 2024
8023951
22
bunsenstraat Mar 6, 2024
eaebfe6
notarize the app too
bunsenstraat Mar 6, 2024
f02e9bf
zip it
bunsenstraat Mar 6, 2024
efe6b88
new plugin
bunsenstraat Mar 6, 2024
05d2434
wait
bunsenstraat Mar 6, 2024
9c0f7a3
cleanup
bunsenstraat Mar 7, 2024
97da3be
sign it
bunsenstraat Mar 7, 2024
98d2285
23
bunsenstraat Mar 7, 2024
a40fa1f
artifactName
bunsenstraat Mar 7, 2024
d4916fd
sign windows
bunsenstraat Mar 7, 2024
09c343b
fix name
bunsenstraat Mar 7, 2024
312fe0d
output
bunsenstraat Mar 10, 2024
1f57c3a
config win
bunsenstraat Mar 10, 2024
efa1f9b
staple only once
bunsenstraat Mar 10, 2024
4eabb1c
seperate steps
bunsenstraat Mar 10, 2024
799c585
refactor
bunsenstraat Mar 10, 2024
955a7ec
log more
bunsenstraat Mar 10, 2024
74ae816
appPath
bunsenstraat Mar 10, 2024
8efdc12
log
bunsenstraat Mar 10, 2024
81842e4
rm zip
bunsenstraat Mar 10, 2024
fd6f269
fix building mac
bunsenstraat Mar 10, 2024
ef5368c
append dmgs
bunsenstraat Mar 10, 2024
04d3884
24
bunsenstraat Mar 11, 2024
7b4b73d
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 11, 2024
9045063
win name
bunsenstraat Mar 12, 2024
67fc053
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 12, 2024
4616943
26
bunsenstraat Mar 12, 2024
70fd55e
add gist support
bunsenstraat Mar 12, 2024
d94418c
fix error fs
bunsenstraat Mar 12, 2024
65fc5f5
fix plugin
bunsenstraat Mar 12, 2024
a3ebad8
wording
bunsenstraat Mar 12, 2024
bc02a70
rm console
bunsenstraat Mar 12, 2024
5ac17d9
Merge branch 'master' into gistdesktop
bunsenstraat Mar 12, 2024
1957848
rm console
bunsenstraat Mar 12, 2024
95f423d
reset pack
bunsenstraat Mar 12, 2024
a34c916
rm reports
bunsenstraat Mar 12, 2024
b6df5b5
git ignore
bunsenstraat Mar 12, 2024
4270fc5
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 12, 2024
bbd91e5
Merge branch 'master' into signmacosdesktop
bunsenstraat Mar 12, 2024
36dfcad
run tests
bunsenstraat Mar 12, 2024
1ccdb8c
config
bunsenstraat Mar 12, 2024
a453788
config
bunsenstraat Mar 12, 2024
bcbd293
config
bunsenstraat Mar 12, 2024
0a3694f
run linux
bunsenstraat Mar 13, 2024
a93589e
xterm tests
bunsenstraat Mar 13, 2024
b54e72f
terminal tests
bunsenstraat Mar 13, 2024
49e59c4
close terminal test
bunsenstraat Mar 13, 2024
82de8e0
compiler test
bunsenstraat Mar 13, 2024
5c00763
etherscan key
bunsenstraat Mar 13, 2024
e5f3738
restore eth scan
bunsenstraat Mar 13, 2024
f396f5e
mac tests
bunsenstraat Mar 13, 2024
9528df2
test mac
bunsenstraat Mar 13, 2024
22e0223
nvm
bunsenstraat Mar 13, 2024
99371f0
rm mac tests
bunsenstraat Mar 13, 2024
59b9789
rm mac tests
bunsenstraat Mar 13, 2024
45edc00
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 14, 2024
f0916f7
Merge branch 'gistdesktop' of https://github.com/ethereum/remix-proje…
bunsenstraat Mar 14, 2024
8c2cda5
Merge branch 'signmacosdesktop' of https://github.com/ethereum/remix-…
bunsenstraat Mar 14, 2024
29edae1
fix names
bunsenstraat Mar 14, 2024
3523a5f
fix linux testing
bunsenstraat Mar 14, 2024
bbc9924
do not update on e2e
bunsenstraat Mar 14, 2024
6eff045
fix import
bunsenstraat Mar 14, 2024
c643b01
gist test
bunsenstraat Mar 14, 2024
556bcf9
windows tests
bunsenstraat Mar 14, 2024
93a12b9
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 14, 2024
9fa5ea8
test windows
bunsenstraat Mar 14, 2024
1ce0014
config
bunsenstraat Mar 14, 2024
e2a586a
config
bunsenstraat Mar 14, 2024
7bed145
run
bunsenstraat Mar 15, 2024
ed3e70b
run
bunsenstraat Mar 15, 2024
d0c48ae
nvm
bunsenstraat Mar 15, 2024
7292977
run
bunsenstraat Mar 15, 2024
5742ce8
run
bunsenstraat Mar 15, 2024
3dafccb
timeout
bunsenstraat Mar 16, 2024
5626c77
sintall yarn
bunsenstraat Mar 16, 2024
264a433
screenshots
bunsenstraat Mar 16, 2024
d0fd550
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 16, 2024
6f4aaea
retry command
bunsenstraat Mar 16, 2024
92da503
try powershell
bunsenstraat Mar 16, 2024
2a2198d
set location
bunsenstraat Mar 16, 2024
8e4db98
default
bunsenstraat Mar 16, 2024
de41962
fix shell
bunsenstraat Mar 16, 2024
f80c8bb
path
bunsenstraat Mar 16, 2024
8f52107
test yarn
bunsenstraat Mar 16, 2024
43de5c2
run tests
bunsenstraat Mar 16, 2024
7ccd945
background
bunsenstraat Mar 16, 2024
2c57f7e
run differentlty
bunsenstraat Mar 16, 2024
b9ba90e
script block
bunsenstraat Mar 16, 2024
a99d679
rm webdriver
bunsenstraat Mar 16, 2024
4e5e5a1
run from nightwatch
bunsenstraat Mar 16, 2024
7406e6c
mac tests
bunsenstraat Mar 16, 2024
5ddfcf0
config
bunsenstraat Mar 16, 2024
3e6af95
test x64
bunsenstraat Mar 16, 2024
dbb9059
prevent menu e2e
bunsenstraat Mar 16, 2024
0608e57
repo change
bunsenstraat Mar 18, 2024
5695383
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 18, 2024
d590bc5
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 19, 2024
00bda4c
bunsenstraat
bunsenstraat Mar 19, 2024
014b5f5
rm selenium
bunsenstraat Mar 19, 2024
356bf83
automatic os tests
bunsenstraat Mar 19, 2024
143a6a9
run localhost check
bunsenstraat Mar 19, 2024
672e211
test isogit
bunsenstraat Mar 19, 2024
e35bf49
rm recent folders
bunsenstraat Mar 19, 2024
006a968
run offline test
bunsenstraat Mar 19, 2024
4052096
latest check
bunsenstraat Mar 20, 2024
ca66f34
xterm
bunsenstraat Mar 20, 2024
9065767
xterm
bunsenstraat Mar 20, 2024
48538e2
xterm
bunsenstraat Mar 20, 2024
938e750
test yml
bunsenstraat Mar 20, 2024
385f290
typo
bunsenstraat Mar 20, 2024
eb046d4
typo
bunsenstraat Mar 20, 2024
db541ea
output
bunsenstraat Mar 20, 2024
704f5fa
array
bunsenstraat Mar 20, 2024
b4ee919
write the ymls
bunsenstraat Mar 20, 2024
2012211
gist fix
bunsenstraat Mar 20, 2024
951dbc2
upload fix
bunsenstraat Mar 20, 2024
3d9d0aa
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 21, 2024
0d02838
soljson
bunsenstraat Mar 22, 2024
5759b05
search test
bunsenstraat Mar 22, 2024
def0bd8
search test
bunsenstraat Mar 22, 2024
a1686ad
search test fix
bunsenstraat Mar 25, 2024
506ed6b
fail fast
bunsenstraat Mar 25, 2024
9237519
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 25, 2024
8bd325f
external edit test
bunsenstraat Mar 25, 2024
2dbfe27
add pause
bunsenstraat Mar 25, 2024
5600d1c
fix tests
bunsenstraat Mar 27, 2024
ebde813
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 27, 2024
dca76fe
config
bunsenstraat Mar 27, 2024
a479570
split mac job
bunsenstraat Mar 27, 2024
875bddc
config
bunsenstraat Mar 27, 2024
fedb4c2
config
bunsenstraat Mar 27, 2024
85847a6
config
bunsenstraat Mar 27, 2024
09c3926
config
bunsenstraat Mar 27, 2024
2a8a9b4
mv latest
bunsenstraat Mar 27, 2024
02c975b
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Mar 28, 2024
32f3237
1.1
bunsenstraat Mar 28, 2024
71836d1
0.1.0
bunsenstraat Mar 28, 2024
b96524c
fix latest yml
bunsenstraat Apr 3, 2024
77095a9
1.1
bunsenstraat Apr 3, 2024
1f1f7f1
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Apr 4, 2024
2685163
offline test
bunsenstraat Apr 4, 2024
b17129b
1.0
bunsenstraat Apr 4, 2024
7a089eb
exit terminals
bunsenstraat Apr 24, 2024
59af53a
console rm
bunsenstraat Apr 24, 2024
868d495
exit terminals
bunsenstraat Apr 24, 2024
3a0890d
update xterm v2
bunsenstraat Apr 24, 2024
547d4d4
update assets
bunsenstraat Apr 24, 2024
33bea35
terminals
bunsenstraat Apr 24, 2024
65ed5f0
use worker
bunsenstraat Apr 24, 2024
b51abe0
revert
bunsenstraat Apr 24, 2024
d2effb5
getshells
bunsenstraat Apr 24, 2024
48b7358
fix clone path
bunsenstraat Apr 24, 2024
5f5588a
update desktop
bunsenstraat Apr 24, 2024
2a14c17
placement
bunsenstraat Apr 24, 2024
d8d21f6
set relative size
bunsenstraat Apr 24, 2024
37c4851
exit test xterm
bunsenstraat Apr 24, 2024
191a28d
double quote path
bunsenstraat Apr 24, 2024
fbc6fdc
windows tests
bunsenstraat Apr 24, 2024
4a93c1f
config
bunsenstraat Apr 24, 2024
732cfa3
config
bunsenstraat Apr 24, 2024
c86bb69
change scam alerte
bunsenstraat Apr 24, 2024
cfc758c
lint
bunsenstraat Apr 24, 2024
9402f80
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat Apr 25, 2024
04e7813
add pause
bunsenstraat Apr 25, 2024
614cd14
win xterm test
bunsenstraat Apr 25, 2024
9a06e80
paralel test
bunsenstraat Apr 25, 2024
a5ae655
typo
bunsenstraat Apr 25, 2024
d8a1396
permissions
bunsenstraat Apr 25, 2024
a5b684d
fix test script
bunsenstraat Apr 25, 2024
90b0577
test script
bunsenstraat Apr 25, 2024
37658a2
windows par
bunsenstraat Apr 25, 2024
4379a80
maxim on e2e
bunsenstraat Apr 25, 2024
27b56a8
fix app manager
bunsenstraat Apr 25, 2024
1fd4584
dgit issue
bunsenstraat Apr 25, 2024
420822f
disable dgit calls
bunsenstraat Apr 25, 2024
61b4642
fix owner git
bunsenstraat May 6, 2024
fed2f9f
Beta
bunsenstraat May 6, 2024
ee646f3
1.0.1
bunsenstraat May 7, 2024
0b774db
fix git init
bunsenstraat May 7, 2024
2f421b4
lint
bunsenstraat May 7, 2024
5a6608e
1.02-beta
bunsenstraat May 15, 2024
4fb1032
channels
bunsenstraat May 16, 2024
885522c
lock
bunsenstraat May 16, 2024
733ca7a
use awk
bunsenstraat May 16, 2024
bfc6566
fix windows
bunsenstraat May 17, 2024
cbad797
win verison
bunsenstraat May 17, 2024
210fbae
fix loading app for tests
bunsenstraat May 18, 2024
489cff3
exe name
bunsenstraat May 18, 2024
044473c
downgrade builder
bunsenstraat May 18, 2024
0fd90a8
channels
bunsenstraat May 18, 2024
88be2ea
test channel
bunsenstraat May 18, 2024
89f72b0
name
bunsenstraat May 18, 2024
889b41e
add chanell
bunsenstraat May 20, 2024
ee75b0f
insiders
bunsenstraat May 20, 2024
f747032
fix script
bunsenstraat May 21, 2024
3071bb5
test release
bunsenstraat May 22, 2024
65b4b65
fix uploads
bunsenstraat May 22, 2024
78a6119
fix script
bunsenstraat May 22, 2024
1bfd4dd
103
bunsenstraat May 22, 2024
4073b3e
build all
bunsenstraat May 23, 2024
fd5e3f3
102
bunsenstraat May 23, 2024
5350797
add readme
bunsenstraat May 30, 2024
45dcad1
add tracker
bunsenstraat May 30, 2024
5c2bc9c
add tracker
bunsenstraat May 30, 2024
c03b9cd
update matamo
bunsenstraat May 31, 2024
2677e3c
104
bunsenstraat May 31, 2024
a82fa25
Update README.md
STetsing Jun 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
280 changes: 267 additions & 13 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,35 @@ jobs:
paths:
- "persist"

test-remixdesktop-linux:
machine:
image: ubuntu-2004:current
resource_class:
xlarge
working_directory: ~/remix-project
parallelism: 10
steps:
- run: ldd --version
- checkout
- attach_workspace:
at: .
- run: unzip ./persist/desktopbuild.zip
- run:
command: |
node -v
mkdir apps/remixdesktop/build
cp -r dist/apps/remix-ide apps/remixdesktop/build
cd apps/remixdesktop/
yarn add node-pty
yarn --ignore-optional
yarn add @remix-project/remix-ws-templates
./rundist.bash
- run:
name: "Run tests"
command: |
cd apps/remixdesktop/
./run_ci_test.sh

build-remixdesktop-linux:
machine:
image: ubuntu-2004:current
Expand All @@ -125,15 +154,25 @@ jobs:
yarn add node-pty
yarn --ignore-optional
yarn add @remix-project/remix-ws-templates
PUBLISH_FOR_PULL_REQUEST='true' yarn dist
./rundist.bash
rm -rf release/*-unpacked
- save_cache:
key: remixdesktop-linux-deps-{{ checksum "apps/remixdesktop/yarn.lock" }}
paths:
- apps/remixdesktop/node_modules
- run:
name: "remove unnecessary files"
command: |
rm -rf ~/remix-project/apps/remixdesktop/release/.icon*
rm -rf ~/remix-project/apps/remixdesktop/release/builder*
- store_artifacts:
path: apps/remixdesktop/release/
destination: remixdesktop-linux
- persist_to_workspace:
root: apps/remixdesktop
paths:
- "release"


build-remixdesktop-windows:
executor:
Expand Down Expand Up @@ -168,8 +207,9 @@ jobs:
mkdir apps/remixdesktop/build
cp -r dist/apps/remix-ide apps/remixdesktop/build
cd apps/remixdesktop/
pip install setuptools
yarn
PUBLISH_FOR_PULL_REQUEST='true' yarn dist
./rundist.bash
rm -rf release/*-unpacked
- save_cache:
key: remixdesktop-windows-deps-{{ checksum "apps/remixdesktop/yarn.lock" }}
Expand All @@ -179,6 +219,59 @@ jobs:
root: apps/remixdesktop
paths:
- "release"

test-remixdesktop-windows:
executor:
name: win/default # executor type
size: xlarge # can be medium, large, xlarge, 2xlarge
shell: bash.exe
parallelism: 10
working_directory: ~/remix-project
steps:
- checkout
- attach_workspace:
at: .
- run: unzip ./persist/desktopbuild.zip
- restore_cache:
key: node-20-windows-v3
- run:
command: |
nvm install 20.0.0
nvm use 20.0.0
node -v
npx -v
npm install --global yarn
yarn -v
- run:
name: start selenium
command: |
cd "apps/remixdesktop/"
yarn -v
shell: powershell.exe
- save_cache:
key: node-20-windows-v3
paths:
- /ProgramData/nvm/v20.0.0
- restore_cache:
keys:
- remixdesktop-windows-deps-{{ checksum "apps/remixdesktop/yarn.lock" }}
- run:
command: |
mkdir apps/remixdesktop/build
cp -r dist/apps/remix-ide apps/remixdesktop/build
cd apps/remixdesktop/
nvm use 20.0.0
node -v
pip install setuptools
yarn
./rundist.bash
- run:
name: start tests offline
command: |
cd "apps/remixdesktop/"
yarn -v
sleep 15
./run_ci_test.sh
# see https://docs.digicert.com/en/software-trust-manager/ci-cd-integrations/script-integrations/github-integration-ksp.html
sign-remixdesktop-windows:
executor: win/default # executor type
Expand Down Expand Up @@ -229,39 +322,93 @@ jobs:
command: |
Get-ChildItem -Path 'C:\Program Files (x86)\Windows Kits\10\App Certification Kit' -Filter signtool.exe -Recurse
- run:
name: "Signtool-Signing"
name: read env
shell: powershell.exe
command: |
& $env:Signtool sign /sha1 $env:SM_CODE_SIGNING_CERT_SHA1_HASH /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 $env:RemixSetupExe
# Specify the path to your package.json file
$packageJsonPath = "C:\Users\circleci\remix-project\apps\remixdesktop\package.json"

# Check if the file exists
if (Test-Path $packageJsonPath) {
# Read the content of the package.json file
$packageJsonContent = Get-Content $packageJsonPath -Raw | ConvertFrom-Json

# Check if the 'version' field exists in the package.json
if ($packageJsonContent.'version' -ne $null) {
# Store the version value in an environment variable
$version = $packageJsonContent.version
$file = "C:\Users\circleci\remix-project\release\Remix-Desktop-Setup-$($version).exe"
Write-Host "Version $(file) stored in PACKAGE_VERSION environment variable."
"Set-Variable -Name 'PACKAGE_VERSION' -Value '$file' -Scope Global" > SetEnvVars.ps1
dir Env:
} else {
Write-Host "Error: 'version' field not found in package.json."
}
} else {
Write-Host "Error: package.json file not found at $packageJsonPath."
}
- run:
name: "Signtool-Signing"
shell: powershell.exe
command: |
. .\SetEnvVars.ps1
dir Env:
& $env:Signtool sign /sha1 $env:SM_CODE_SIGNING_CERT_SHA1_HASH /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 $PACKAGE_VERSION
- run:
name: "Signtool-Verification"
shell: powershell.exe
command: |
$verify_output = $(& $env:Signtool verify /v /pa $env:RemixSetupExe)
. .\SetEnvVars.ps1
$verify_output = $(& $env:Signtool verify /v /pa $PACKAGE_VERSION)
echo ${verify_output}
if (!$verify_output.Contains("Number of files successfully Verified: 1")) {
echo 'Verification failed'
exit 1
}
- run:
name: "remove unnecessary files"
shell: bash.exe
command: |
rm -rf ~/remix-project/release/.icon*
rm -rf ~/remix-project/release/builder*
- store_artifacts:
path: ~/remix-project/release/
destination: remixdesktop-windows
- persist_to_workspace:
root: ~/remix-project/
paths:
- "release"
environment:
SM_CLIENT_CERT_FILE: 'C:\Certificate_pkcs12.p12'
Signtool: 'C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe'
SSM: 'C:\Program Files\DigiCert\DigiCert One Signing Manager Tools'
RemixSetupExe: 'C:\Users\circleci\remix-project\release\Remix IDE.exe'

build-remixdesktop-mac:
macos:
xcode: 14.2.0
resource_class:
macos.m1.large.gen1
working_directory: ~/remix-project
parameters:
arch:
type: string
steps:
- checkout
- attach_workspace:
at: .
- run:
name: Install Apple Certificate
command: |
echo $APPLE_CERTIFICATE_BASE64 | base64 --decode > /tmp/certificate.p12
security create-keychain -p ci-password build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p ci-password build.keychain
curl -o DeveloperIDG2CA.cer "https://www.apple.com/certificateauthority/DeveloperIDG2CA.cer"
sudo security import DeveloperIDG2CA.cer -k /Library/Keychains/System.keychain -T /usr/bin/codesign
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain DeveloperIDG2CA.cer
security import /tmp/certificate.p12 -k build.keychain -P $APPLE_CERTIFICATE_PASSWORD -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple: -s -k ci-password build.keychain
security find-identity -v -p codesigning
- run: unzip ./persist/desktopbuild.zip
- run:
command: |
Expand All @@ -283,20 +430,107 @@ jobs:
# use USE_HARD_LINK=false https://github.com/electron-userland/electron-builder/issues/3179
- run:
command: |
nvm use 20.0.0
nvm use 20
mkdir apps/remixdesktop/build
cp -r dist/apps/remix-ide apps/remixdesktop/build
cd apps/remixdesktop
yarn
yarn installRipGrepMacOXarm64
PUBLISH_FOR_PULL_REQUEST='true' USE_HARD_LINKS=false yarn dist --mac --arm64
yarn installRipGrepMacOXx64
PUBLISH_FOR_PULL_REQUEST='true' USE_HARD_LINKS=false yarn dist --mac --x64
rm -rf release/mac*
- run:
command: |
nvm use 20
cd apps/remixdesktop
yarn installRipGrepMacOX<< parameters.arch >>
PUBLISH_FOR_PULL_REQUEST='false' USE_HARD_LINKS=false ./rundist.bash --<< parameters.arch >>
if [ -f release/latest-mac.yml ]; then
cat release/latest-mac.yml
mv release/latest-mac.yml release/latest-mac-<< parameters.arch >>.yml
fi
- run:
name: Notarize the app
command: |
brew install jq
cd apps/remixdesktop
zsh notarizedmg.sh
- run:
name: "remove unnecessary files"
command: |
rm -rf ~/remix-project/apps/remixdesktop/release/.icon*
rm -rf ~/remix-project/apps/remixdesktop/release/builder*
rm -rf ~/remix-project/apps/remixdesktop/release/*.blockmap
rm -rf ~/remix-project/apps/remixdesktop/release/_.*
- store_artifacts:
path: apps/remixdesktop/release/
destination: remixdesktop-mac

- persist_to_workspace:
root: apps/remixdesktop
paths:
- "release"
test-remixdesktop-mac:
macos:
xcode: 14.2.0
resource_class:
macos.m1.large.gen1
working_directory: ~/remix-project
parallelism: 10
steps:
- checkout
- attach_workspace:
at: .
- run: unzip ./persist/desktopbuild.zip
- run:
command: |
ls -la dist/apps/remix-ide
nvm install 20.0.0
nvm use 20.0.0
- restore_cache:
keys:
- remixdesktop-deps-mac-{{ checksum "apps/remixdesktop/yarn.lock" }}
- run:
command: |
nvm use 20.0.0
cd apps/remixdesktop && yarn
yarn add @remix-project/remix-ws-templates
- save_cache:
key: remixdesktop-deps-mac-{{ checksum "apps/remixdesktop/yarn.lock" }}
paths:
- apps/remixdesktop/node_modules
- run:
command: |
nvm use 20
mkdir apps/remixdesktop/build
cp -r dist/apps/remix-ide apps/remixdesktop/build
cd apps/remixdesktop
yarn
- run:
command: |
nvm use 20
cd apps/remixdesktop
yarn installRipGrepMacOXarm64
PUBLISH_FOR_PULL_REQUEST='false' USE_HARD_LINKS=false ./rundist.bash --arm64
- run:
name: "Run tests"
command: |
nvm use 20
cd apps/remixdesktop
./run_ci_test.sh

uploadartifacts:
docker:
- image: cimg/node:20.0.0-browsers
resource_class:
xlarge
working_directory: ~/remix-project
steps:
- checkout
- attach_workspace:
at: .
- restore_cache:
keys:
- v1-deps-{{ checksum "yarn.lock" }}
- run: yarn
- run:
name: "Upload Artifacts"
command: npx ts-node apps/remix-ide/ci/update_desktop_release_assets.ts
lint:
docker:
- image: cimg/node:20.0.0-browsers
Expand Down Expand Up @@ -502,6 +736,12 @@ workflows:
- build-remixdesktop-mac:
requires:
- build-desktop
matrix:
parameters:
arch: ["arm64", "x64"]
- test-remixdesktop-mac:
requires:
- build-desktop
- build-remixdesktop-windows:
requires:
- build-desktop
Expand All @@ -511,6 +751,20 @@ workflows:
- build-remixdesktop-linux:
requires:
- build-desktop
- test-remixdesktop-linux:
requires:
- build-desktop
- test-remixdesktop-windows:
requires:
- build-desktop
- uploadartifacts:
requires:
- build-remixdesktop-mac
- build-remixdesktop-linux
- sign-remixdesktop-windows
- test-remixdesktop-windows
- test-remixdesktop-linux
- test-remixdesktop-mac
- build-plugin:
matrix:
parameters:
Expand Down