[Git][ghc/ghc][wip/alpine-aarch64] 2 commits: Add aarch64 alpine bindist
Matthew Pickering (@mpickering)
gitlab at gitlab.haskell.org
Mon Sep 18 14:07:33 UTC 2023
Matthew Pickering pushed to branch wip/alpine-aarch64 at Glasgow Haskell Compiler / GHC
Commits:
4896cb51 by Matthew Pickering at 2023-09-18T15:01:08+01:00
Add aarch64 alpine bindist
This is dynamically linked and makes creating statically linked
executables more straightforward.
Fixes #23482
- - - - -
efa3d8bb by Matthew Pickering at 2023-09-18T15:06:56+01:00
Add aarch64-deb11 bindist
This adds a debian 11 release job for aarch64.
Fixes #22005
- - - - -
3 changed files:
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- .gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py
Changes:
=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -114,7 +114,8 @@ data LinuxDistro
| Ubuntu2004
| Ubuntu1804
| Centos7
- | Alpine
+ | Alpine312
+ | Alpine318
| AlpineWasm
| Rocky8
deriving (Eq)
@@ -293,7 +294,8 @@ distroName Fedora38 = "fedora38"
distroName Ubuntu1804 = "ubuntu18_04"
distroName Ubuntu2004 = "ubuntu20_04"
distroName Centos7 = "centos7"
-distroName Alpine = "alpine3_12"
+distroName Alpine312 = "alpine3_12"
+distroName Alpine318 = "alpine3_18"
distroName AlpineWasm = "alpine3_17-wasm"
distroName Rocky8 = "rocky8"
@@ -430,9 +432,7 @@ opsysVariables _ (Windows {}) =
, "GHC_VERSION" =: "9.4.3" ]
opsysVariables _ _ = mempty
-
-distroVariables :: LinuxDistro -> Variables
-distroVariables Alpine = mconcat
+alpineVariables = mconcat
[ -- Due to #20266
"CONFIGURE_ARGS" =: "--disable-ld-override"
, "INSTALL_CONFIGURE_ARGS" =: "--disable-ld-override"
@@ -441,6 +441,11 @@ distroVariables Alpine = mconcat
-- T10458, ghcilink002: due to #17869
, "BROKEN_TESTS" =: "encoding004 T10458"
]
+
+
+distroVariables :: LinuxDistro -> Variables
+distroVariables Alpine312 = alpineVariables
+distroVariables Alpine318 = alpineVariables
distroVariables Centos7 = mconcat [
"HADRIAN_ARGS" =: "--docs=no-sphinx"
]
@@ -994,13 +999,15 @@ job_groups =
, allowFailureGroup (onlyRule FreeBSDLabel (validateBuilds Amd64 FreeBSD13 vanilla))
, fastCI (standardBuilds AArch64 Darwin)
, fastCI (standardBuildsWithConfig AArch64 (Linux Debian10) (splitSectionsBroken vanilla))
+ , disableValidate (standardBuildsWithConfig AArch64 (Linux Debian11) (splitSectionsBroken vanilla))
, disableValidate (validateBuilds AArch64 (Linux Debian10) llvm)
, standardBuildsWithConfig I386 (Linux Debian10) (splitSectionsBroken vanilla)
-- Fully static build, in theory usable on any linux distribution.
- , fullyStaticBrokenTests (standardBuildsWithConfig Amd64 (Linux Alpine) (splitSectionsBroken static))
+ , fullyStaticBrokenTests (standardBuildsWithConfig Amd64 (Linux Alpine312) (splitSectionsBroken static))
-- Dynamically linked build, suitable for building your own static executables on alpine
- , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine) (splitSectionsBroken vanilla))
- , fullyStaticBrokenTests (disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine) staticNativeInt)))
+ , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine312) (splitSectionsBroken vanilla))
+ , disableValidate (standardBuildsWithConfig AArch64 (Linux Alpine318) (splitSectionsBroken vanilla))
+ , fullyStaticBrokenTests (disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine312) staticNativeInt)))
, validateBuilds Amd64 (Linux Debian11) (crossConfig "aarch64-linux-gnu" (Emulator "qemu-aarch64 -L /usr/aarch64-linux-gnu") Nothing)
, validateBuilds Amd64 (Linux Debian11) (crossConfig "javascript-unknown-ghcjs" (Emulator "js-emulator") (Just "emconfigure")
)
=====================================
.gitlab/jobs.yaml
=====================================
@@ -253,6 +253,71 @@
"XZ_OPT": "-9"
}
},
+ "nightly-aarch64-linux-alpine3_18-validate": {
+ "after_script": [
+ ".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
+ ".gitlab/ci.sh clean",
+ "cat ci_timings"
+ ],
+ "allow_failure": false,
+ "artifacts": {
+ "expire_in": "8 weeks",
+ "paths": [
+ "ghc-aarch64-linux-alpine3_18-validate.tar.xz",
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
+ ],
+ "reports": {
+ "junit": "junit.xml"
+ },
+ "when": "always"
+ },
+ "cache": {
+ "key": "aarch64-linux-alpine3_18-$CACHE_REV",
+ "paths": [
+ "cabal-cache",
+ "toolchain"
+ ]
+ },
+ "dependencies": [],
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_18:$DOCKER_REV",
+ "needs": [
+ {
+ "artifacts": false,
+ "job": "hadrian-ghc-in-ghci"
+ }
+ ],
+ "rules": [
+ {
+ "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+ "when": "on_success"
+ }
+ ],
+ "script": [
+ "sudo chown ghc:ghc -R .",
+ ".gitlab/ci.sh setup",
+ ".gitlab/ci.sh configure",
+ ".gitlab/ci.sh build_hadrian",
+ ".gitlab/ci.sh test_hadrian"
+ ],
+ "stage": "full-build",
+ "tags": [
+ "aarch64-linux"
+ ],
+ "variables": {
+ "BIGNUM_BACKEND": "gmp",
+ "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_18-validate",
+ "BROKEN_TESTS": "encoding004 T10458",
+ "BUILD_FLAVOUR": "validate",
+ "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
+ "HADRIAN_ARGS": "--docs=no-sphinx",
+ "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
+ "RUNTEST_ARGS": "",
+ "TEST_ENV": "aarch64-linux-alpine3_18-validate",
+ "XZ_OPT": "-9"
+ }
+ },
"nightly-aarch64-linux-deb10-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
@@ -377,6 +442,68 @@
"XZ_OPT": "-9"
}
},
+ "nightly-aarch64-linux-deb11-validate": {
+ "after_script": [
+ ".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
+ ".gitlab/ci.sh clean",
+ "cat ci_timings"
+ ],
+ "allow_failure": false,
+ "artifacts": {
+ "expire_in": "8 weeks",
+ "paths": [
+ "ghc-aarch64-linux-deb11-validate.tar.xz",
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
+ ],
+ "reports": {
+ "junit": "junit.xml"
+ },
+ "when": "always"
+ },
+ "cache": {
+ "key": "aarch64-linux-deb11-$CACHE_REV",
+ "paths": [
+ "cabal-cache",
+ "toolchain"
+ ]
+ },
+ "dependencies": [],
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb11:$DOCKER_REV",
+ "needs": [
+ {
+ "artifacts": false,
+ "job": "hadrian-ghc-in-ghci"
+ }
+ ],
+ "rules": [
+ {
+ "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
+ "when": "on_success"
+ }
+ ],
+ "script": [
+ "sudo chown ghc:ghc -R .",
+ ".gitlab/ci.sh setup",
+ ".gitlab/ci.sh configure",
+ ".gitlab/ci.sh build_hadrian",
+ ".gitlab/ci.sh test_hadrian"
+ ],
+ "stage": "full-build",
+ "tags": [
+ "aarch64-linux"
+ ],
+ "variables": {
+ "BIGNUM_BACKEND": "gmp",
+ "BIN_DIST_NAME": "ghc-aarch64-linux-deb11-validate",
+ "BUILD_FLAVOUR": "validate",
+ "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "RUNTEST_ARGS": "",
+ "TEST_ENV": "aarch64-linux-deb11-validate",
+ "XZ_OPT": "-9"
+ }
+ },
"nightly-i386-linux-deb10-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
@@ -2593,6 +2720,72 @@
"XZ_OPT": "-9"
}
},
+ "release-aarch64-linux-alpine3_18-release+no_split_sections": {
+ "after_script": [
+ ".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
+ ".gitlab/ci.sh clean",
+ "cat ci_timings"
+ ],
+ "allow_failure": false,
+ "artifacts": {
+ "expire_in": "1 year",
+ "paths": [
+ "ghc-aarch64-linux-alpine3_18-release+no_split_sections.tar.xz",
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
+ ],
+ "reports": {
+ "junit": "junit.xml"
+ },
+ "when": "always"
+ },
+ "cache": {
+ "key": "aarch64-linux-alpine3_18-$CACHE_REV",
+ "paths": [
+ "cabal-cache",
+ "toolchain"
+ ]
+ },
+ "dependencies": [],
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_18:$DOCKER_REV",
+ "needs": [
+ {
+ "artifacts": false,
+ "job": "hadrian-ghc-in-ghci"
+ }
+ ],
+ "rules": [
+ {
+ "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+ "when": "on_success"
+ }
+ ],
+ "script": [
+ "sudo chown ghc:ghc -R .",
+ ".gitlab/ci.sh setup",
+ ".gitlab/ci.sh configure",
+ ".gitlab/ci.sh build_hadrian",
+ ".gitlab/ci.sh test_hadrian"
+ ],
+ "stage": "full-build",
+ "tags": [
+ "aarch64-linux"
+ ],
+ "variables": {
+ "BIGNUM_BACKEND": "gmp",
+ "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_18-release+no_split_sections",
+ "BROKEN_TESTS": "encoding004 T10458",
+ "BUILD_FLAVOUR": "release+no_split_sections",
+ "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
+ "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
+ "IGNORE_PERF_FAILURES": "all",
+ "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
+ "RUNTEST_ARGS": "",
+ "TEST_ENV": "aarch64-linux-alpine3_18-release+no_split_sections",
+ "XZ_OPT": "-9"
+ }
+ },
"release-aarch64-linux-deb10-release+no_split_sections": {
"after_script": [
".gitlab/ci.sh save_cache",
@@ -2657,6 +2850,70 @@
"XZ_OPT": "-9"
}
},
+ "release-aarch64-linux-deb11-release+no_split_sections": {
+ "after_script": [
+ ".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
+ ".gitlab/ci.sh clean",
+ "cat ci_timings"
+ ],
+ "allow_failure": false,
+ "artifacts": {
+ "expire_in": "1 year",
+ "paths": [
+ "ghc-aarch64-linux-deb11-release+no_split_sections.tar.xz",
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
+ ],
+ "reports": {
+ "junit": "junit.xml"
+ },
+ "when": "always"
+ },
+ "cache": {
+ "key": "aarch64-linux-deb11-$CACHE_REV",
+ "paths": [
+ "cabal-cache",
+ "toolchain"
+ ]
+ },
+ "dependencies": [],
+ "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb11:$DOCKER_REV",
+ "needs": [
+ {
+ "artifacts": false,
+ "job": "hadrian-ghc-in-ghci"
+ }
+ ],
+ "rules": [
+ {
+ "if": "(\"true\" == \"true\") && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null)",
+ "when": "on_success"
+ }
+ ],
+ "script": [
+ "sudo chown ghc:ghc -R .",
+ ".gitlab/ci.sh setup",
+ ".gitlab/ci.sh configure",
+ ".gitlab/ci.sh build_hadrian",
+ ".gitlab/ci.sh test_hadrian"
+ ],
+ "stage": "full-build",
+ "tags": [
+ "aarch64-linux"
+ ],
+ "variables": {
+ "BIGNUM_BACKEND": "gmp",
+ "BIN_DIST_NAME": "ghc-aarch64-linux-deb11-release+no_split_sections",
+ "BUILD_FLAVOUR": "release+no_split_sections",
+ "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
+ "HADRIAN_ARGS": "--hash-unit-ids",
+ "IGNORE_PERF_FAILURES": "all",
+ "RUNTEST_ARGS": "",
+ "TEST_ENV": "aarch64-linux-deb11-release+no_split_sections",
+ "XZ_OPT": "-9"
+ }
+ },
"release-i386-linux-deb10-release+no_split_sections": {
"after_script": [
".gitlab/ci.sh save_cache",
=====================================
.gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py
=====================================
@@ -39,6 +39,8 @@ def job_triple(job_name):
'release-i386-linux-deb10-release': 'i386-deb10-linux',
'release-armv7-linux-deb10-release': 'armv7-deb10-linux',
'release-aarch64-linux-deb10-release': 'aarch64-deb10-linux',
+ 'release-aarch64-linux-deb11-release': 'aarch64-deb11-linux',
+ 'release-aarch64-linux-alpine_3_18-release': 'aarch64-alpine 3_18-linux',
'release-aarch64-darwin-release': 'aarch64-apple-darwin',
'source-tarball': 'src',
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/782e12b3cb4eadf78aa1d0c234c0b29c45c4d0ae...efa3d8bbe7c932ddec7c08215b431a89e9cbd72e
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/782e12b3cb4eadf78aa1d0c234c0b29c45c4d0ae...efa3d8bbe7c932ddec7c08215b431a89e9cbd72e
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20230918/9c4f156a/attachment-0001.html>
More information about the ghc-commits
mailing list