Build RacketCS Snapshots on GHA.

This commit is contained in:
Sam Tobin-Hochstadt 2020-05-06 22:09:24 -04:00
parent 2ae63d957d
commit 5befc7f2ec
2 changed files with 27 additions and 15 deletions

View File

@ -12,28 +12,35 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Cleanup # this is only needed in `act` testing
run: |
rm -rf ~/.racket/
- uses: Bogdanp/setup-racket@v0.8
with:
architecture: 'x64'
# FIXME: use the binary s3-sync pkg
distribution: 'full'
variant: 'regular'
version: '7.7'
packages: 's3-sync'
- name: Install pkg dependencies - name: Install pkg dependencies
run: | run: |
sudo apt update sudo apt update
sudo apt install -y libffi-dev unzip python libxml2-dev libfindbin-libs-perl make gcc g++ git uuid-dev sudo apt install -y libffi-dev unzip libfindbin-libs-perl uuid-dev
- uses: Bogdanp/setup-racket@v0.7
with:
architecture: 'x64'
distribution: 'full'
variant: 'regular'
version: 'current'
- name: Install s3-sync
run: |
sudo raco pkg install -i --auto s3-sync
- name: Building - name: Building
env: env:
DISTRO_BUILD_SITE_DEST: "${{ runner.temp }}/site-dest/" DISTRO_BUILD_SITE_DEST: "${{ runner.temp }}/site-dest/"
run: | run: |
export cpus=$(grep -c ^processor /proc/cpuinfo) export cpus=$(grep -c ^processor /proc/cpuinfo)
make snapshot-site PLAIN_RACKET=/usr/bin/racket CONFIG=".github/workflows/site-small.rkt" -j $((cpus+1)) export HERE=`pwd`
make snapshot-site CONFIG=".github/workflows/site-small.rkt" -j $((cpus+1))
- name: S3 Sync - name: S3 Sync
env: env:

View File

@ -13,25 +13,30 @@
(define server-base-url (~a "https://snapshots.racket-lang.org/" (dest-dir-name) "/")) (define server-base-url (~a "https://snapshots.racket-lang.org/" (dest-dir-name) "/"))
(define distro-content (define distro-content
'("main-distribution")) '("compiler-lib" "racket-lib"))
(define (prebuilt-racket) (define (prebuilt-racket)
(or (and (getenv "PLTHOME") (~a (getenv "PLTHOME") "/racket/" "bin/" "racket")) (or (and (getenv "PLTHOME") (~a (getenv "PLTHOME") "/racket/" "bin/" "racket"))
"/usr/bin/racket")) "/usr/bin/racket"))
;; The overall configuration: ;; The overall configuration:
(parallel (sequential
#:pkgs distro-content #:pkgs distro-content
#:dist-base-url server-base-url #:dist-base-url server-base-url
#:site-dest (build-path (getenv "DISTRO_BUILD_SITE_DEST") (dest-dir-name)) #:site-dest (build-path (or (getenv "DISTRO_BUILD_SITE_DEST") "/tmp/racket-snapshots/") (dest-dir-name))
#:plt-web-style? #t #:plt-web-style? #t
#:site-title (format "Snapshot: ~a" (current-stamp)) #:site-title (format "Snapshot: ~a" (current-stamp))
#:fail-on-client-failures #f
(machine #:name "Racket BC (Ubuntu 18.04, x86_64)" (machine #:name "Racket BC (Ubuntu 18.04, x86_64)"
#:racket (prebuilt-racket) #:racket (prebuilt-racket)
#:versionless? #true) #:versionless? #true
#:j 2)
(machine #:name "Racket CS (Ubuntu 18.04, x86_64)" (machine #:name "Racket CS (Ubuntu 18.04, x86_64)"
;; can't use the pre-built Racket with Racket CS ;; can't use the pre-built Racket with Racket CS
#:versionless? #true #:versionless? #true
#:dir "cs_build" #:dir "cs_build"
#:j 2
#:repo (or (getenv "HERE") ".")
#:pull? #f
#:variant 'cs #:variant 'cs
#:dist-suffix "cs")) #:dist-suffix "cs"))