-
Notifications
You must be signed in to change notification settings - Fork 108
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
Generate arm64 builds of git and git-lfs #354
Changes from all commits
569f2eb
a5cea25
a8f7eb8
70dc204
f8d6252
b2dc85a
6c61414
abdb993
57ca6ec
aef538a
3d467be
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,10 +27,16 @@ jobs: | |
matrix: | ||
os: [macos-10.15, windows-2019, ubuntu-18.04] | ||
arch: [32, 64] | ||
go: [1.16.3] | ||
include: | ||
- os: macos-10.15 | ||
friendlyName: macOS | ||
targetPlatform: macOS | ||
- os: macos-10.15 | ||
friendlyName: macOS | ||
targetPlatform: macOS | ||
arch: arm64 | ||
go: 1.16.3 | ||
- os: windows-2019 | ||
friendlyName: Windows | ||
targetPlatform: win32 | ||
|
@@ -44,9 +50,9 @@ jobs: | |
arch: 32 | ||
timeout-minutes: 20 | ||
steps: | ||
# We need to use Xcode 10.3 for maximum compatibility with older macOS | ||
# We need to use Xcode 10.3 for maximum compatibility with older macOS (x64) | ||
- name: Switch to Xcode 10.3 | ||
if: matrix.targetPlatform == 'macOS' | ||
if: matrix.targetPlatform == 'macOS' && matrix.arch == 64 | ||
run: | | ||
sudo xcode-select -s /Applications/Xcode_10.3.app/Contents/Developer/ | ||
# Delete the command line tools to make sure they don't get our builds | ||
|
@@ -57,6 +63,10 @@ jobs: | |
submodules: recursive | ||
# Needed for script/package.sh to work | ||
fetch-depth: 0 | ||
- name: Use go ${{ matrix.go }} | ||
uses: actions/setup-go@v2 | ||
with: | ||
go-version: ${{ matrix.go }} | ||
- name: Install dependencies | ||
run: npm install | ||
- name: Check formatting | ||
|
@@ -66,12 +76,22 @@ jobs: | |
- name: Install extra dependencies for building Git on Ubuntu | ||
if: matrix.targetPlatform == 'ubuntu' | ||
run: sudo apt-get install libcurl4-openssl-dev libexpat1-dev gettext | ||
- name: Build | ||
- name: Build (except macOS arm64) | ||
if: matrix.targetPlatform != 'macOS' || matrix.arch != 'arm64' | ||
shell: bash | ||
run: script/build.sh | ||
env: | ||
TARGET_PLATFORM: ${{ matrix.targetPlatform }} | ||
TARGET_ARCH: ${{ matrix.arch }} | ||
- name: Build (macOS arm64) | ||
if: matrix.targetPlatform == 'macOS' && matrix.arch == 'arm64' | ||
shell: bash | ||
run: script/build.sh | ||
env: | ||
TARGET_PLATFORM: ${{ matrix.targetPlatform }} | ||
TARGET_ARCH: ${{ matrix.arch }} | ||
# Needed for macOS arm64 until hosted macos-11.0 runners become available | ||
SDKROOT: /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I made a specific job for arm64 in order to keep |
||
- name: Package | ||
shell: bash | ||
run: script/package.sh | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -40,28 +40,5 @@ | |
"checksum": "0e13b411ca6c2b2cfb3d82b67ae747ca5d055734d0ab2030d0823fc37ad48902" | ||
} | ||
] | ||
}, | ||
"smimesign": { | ||
"version": "0.0.6", | ||
"files": [ | ||
{ | ||
"platform": "darwin", | ||
"arch": "amd64", | ||
"name": "smimesign-0.0.6-macos.tgz", | ||
"checksum": "771790f685176b132cb287302a9374120184f7f7973038a0232efee145781906" | ||
}, | ||
{ | ||
"platform": "windows", | ||
"arch": "amd64", | ||
"name": "smimesign-windows-amd64-0.0.6.zip", | ||
"checksum": "2a2f946e31f2d74eadcdcd97b7bfc69298cee2f11cf7cb03c604d28fa1b34cd3" | ||
}, | ||
{ | ||
"platform": "windows", | ||
"arch": "x86", | ||
"name": "smimesign-windows-386-0.0.6.zip", | ||
"checksum": "9a13d00aa02c0a5d277c030297d09f10a467f31e6740f1520a08e09a23046323" | ||
} | ||
] | ||
Comment on lines
-43
to
-65
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I realized we don't use smimesign at all, so I spent some time trying to make it build for arm64 but it's not needed. |
||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I needed to enforce a newer version of go (by default it used 1.15) otherwise go wouldn't be able to link git-lfs for arm64.