Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Build for GNULinux

Build for GNULinux #98

Workflow file for this run

name:Build for GNULinux
on:workflow_dispatch
jobs:
build-x86:
runs-on:ubuntu-latest
container:
image:wolframresearch/wolframengine:14.2
options:--user root
env:
WOLFRAM_SYSTEM_ID:Linux-x86-64-v8
steps:
-name:Install build tools
run:|
apt-get -y update
apt-get -y install build-essential
apt-get -y install libuv1-dev
-name:Install Git in container
run:|
apt-get -y update
apt-get -y install git
# one time fix to avoid permission problems later on
git config --global --add safe.directory "$GITHUB_WORKSPACE"
# Checks-out the repository under $GITHUB_WORKSPACE.
-uses:actions/checkout@v4
with:
fetch-depth:0
token:${{ secrets.GH_TOKEN }}
-name:Set up Node.js
uses:actions/setup-node@v4
with:
node-version:'23'
-name:Patch specific dependencies from package.json
run:|
cat << 'EOF' > clean-package-json.js
const fs = require('fs');
const path = './package.json';
const pkg = JSON.parse(fs.readFileSync(path, 'utf8'));
const depsToRemove = [
"dmg-license",
"electron-trackpad-utils"
];
['dependencies', 'devDependencies'].forEach(section => {
if (pkg[section]) {
depsToRemove.forEach(dep => {
delete pkg[section][dep];
});
}
});
fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n');
EOF
node clean-package-json.js
rm clean-package-json.js
-name:Install dependencies
run:npm install
-name:Bundle
env:
WOLFRAMSCRIPT_ENTITLEMENTID:${{ secrets.WOLFRAM_LICENSE_ENTITLEMENT_ID }}
run:|
npm run pre-dist
-name:Build electron
env:
GH_TOKEN:${{ secrets.GH_TOKEN }}
run:npm run dist-linux86
build-ARM:
runs-on:ubuntu-24.04-arm
env:
WOLFRAM_SYSTEM_ID:Linux-ARM
WOLFRAMENGINE_CACHE_KEY:WolframEngine-BA
WOLFRAMENGINE_INSTALLATION_DIRECTORY:"/Applications/Wolfram Engine.app"
steps:
-name:Check out repository
uses:actions/checkout@v4
with:
token:${{ secrets.GH_TOKEN }}
-name:Install WE
run:|
set -eux -o pipefail
chmod +x ./.github/workflows/install_arm.sh
WE_MODE=install bash ./.github/workflows/install_arm.sh
sudo apt install libuv1-dev -y
-name:Set up Node.js
uses:actions/setup-node@v4
with:
node-version:'23'
-name:Patch specific dependencies from package.json
run:|
cat << 'EOF' > clean-package-json.js
const fs = require('fs');
const path = './package.json';
const pkg = JSON.parse(fs.readFileSync(path, 'utf8'));
const depsToRemove = [
"dmg-license",
"electron-trackpad-utils"
];
['dependencies', 'devDependencies'].forEach(section => {
if (pkg[section]) {
depsToRemove.forEach(dep => {
delete pkg[section][dep];
});
}
});
fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n');
EOF
node clean-package-json.js
rm clean-package-json.js
-name:Install dependencies
run:npm install
-name:Bundle
env:
WOLFRAMSCRIPT_ENTITLEMENTID:${{ secrets.WOLFRAM_LICENSE_ENTITLEMENT_ID }}
run:|
/opt/Wolfram/WolframEngine/14.1/SystemFiles/Kernel/Binaries/Linux-ARM64/wolframscript -debug -verbose -script ./Scripts/bundle.wls
-name:Install Ruby and dependencies
run:|
sudo apt-get update
sudo apt-get install -y ruby ruby-dev build-essential
-name:Install FPM gem
run:|
sudo gem install fpm
-name:Set up Ruby environment
run:|
echo "USE_SYSTEM_FPM=true" >> $GITHUB_ENV
export GEM_HOME="$(ruby -e 'puts Gem.user_dir')"
echo "GEM_HOME=$GEM_HOME" >> $GITHUB_ENV
echo "$GEM_HOME/bin" >> $GITHUB_PATH
-name:Display Ruby and FPM info
run:|
echo "Ruby version: $(ruby -v)"
echo "FPM version: $(fpm --version)"
-name:Build electron
env:
GH_TOKEN:${{ secrets.GH_TOKEN }}
run:npm run dist-linux

[8]ページ先頭

©2009-2025 Movatter.jp