diff --git a/.ci-dockerfiles/alpine-bootstrap-tester/Dockerfile b/.ci-dockerfiles/alpine-bootstrap-tester/Dockerfile new file mode 100644 index 0000000..1a8d5f6 --- /dev/null +++ b/.ci-dockerfiles/alpine-bootstrap-tester/Dockerfile @@ -0,0 +1,10 @@ +FROM alpine:3.11 + +RUN apk update \ + && apk upgrade \ + && apk add --update \ + build-base \ + curl \ + git \ + libressl-dev \ + make diff --git a/.ci-dockerfiles/alpine-bootstrap-tester/build-and-push.bash b/.ci-dockerfiles/alpine-bootstrap-tester/build-and-push.bash new file mode 100644 index 0000000..4db9775 --- /dev/null +++ b/.ci-dockerfiles/alpine-bootstrap-tester/build-and-push.bash @@ -0,0 +1,15 @@ +#!/bin/bash + +set -o errexit +set -o nounset + +# +# *** You should already be logged in to DockerHub when you run this *** +# + +TODAY=$(date +%Y%m%d) +DOCKERFILE_DIR="$(dirname "$0")" + +docker build --pull -t "ponylang/ponyup-ci-alpine-bootstrap-tester:${TODAY}" \ + "${DOCKERFILE_DIR}" +docker push "ponylang/ponyup-ci-alpine-bootstrap-tester:${TODAY}" diff --git a/.ci-dockerfiles/ubuntu-bootstrap-tester/Dockerfile b/.ci-dockerfiles/ubuntu-bootstrap-tester/Dockerfile new file mode 100644 index 0000000..a94f565 --- /dev/null +++ b/.ci-dockerfiles/ubuntu-bootstrap-tester/Dockerfile @@ -0,0 +1,10 @@ +FROM ubuntu:18.04 + +RUN apt-get update \ + && apt-get upgrade \ + && apt-get install -y \ + gcc \ + curl \ + git \ + libssl-dev \ + make diff --git a/.ci-dockerfiles/ubuntu-bootstrap-tester/build-and-push.bash b/.ci-dockerfiles/ubuntu-bootstrap-tester/build-and-push.bash new file mode 100644 index 0000000..075276f --- /dev/null +++ b/.ci-dockerfiles/ubuntu-bootstrap-tester/build-and-push.bash @@ -0,0 +1,15 @@ +#!/bin/bash + +set -o errexit +set -o nounset + +# +# *** You should already be logged in to DockerHub when you run this *** +# + +TODAY=$(date +%Y%m%d) +DOCKERFILE_DIR="$(dirname "$0")" + +docker build --pull -t "ponylang/ponyup-ci-ubuntu-bootstrap-tester:${TODAY}" \ + "${DOCKERFILE_DIR}" +docker push "ponylang/ponyup-ci-ubuntu-bootstrap-tester:${TODAY}" diff --git a/.ci-scripts/test-bootstrap.sh b/.ci-scripts/test-bootstrap.sh index 76f114d..00a3b15 100755 --- a/.ci-scripts/test-bootstrap.sh +++ b/.ci-scripts/test-bootstrap.sh @@ -1,13 +1,6 @@ #!/bin/sh -rm -rf \ - /usr/local/bin/ponyc \ - /usr/local/bin/stable \ - /usr/local/lib/x86-64/libpony* \ - /usr/local/include/pony* \ - /usr/local/packages - -cat ponyup-init.sh | sh -s -- --prefix=/usr/local +cat ponyup-init.sh | sh -s export PATH=$HOME/.local/share/ponyup/bin:$PATH ponyup update ponyc nightly "--platform=$(cc -dumpmachine)" diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index c0aad0e..b525a75 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -40,9 +40,29 @@ jobs: - uses: actions/checkout@v1 - name: Test with the most recent ponyc release run: make test + + alpine-bootstrap: + name: Test bootstrapping on Alpine + runs-on: ubuntu-latest + container: + image: ponylang/ponyup-ci-alpine-bootstrap-tester:20191228 + steps: + - uses: actions/checkout@v1 - name: Bootstrap test run: .ci-scripts/test-bootstrap.sh + ubuntu-bootstrap: + name: Test bootstrapping on Ubuntu + runs-on: ubuntu-latest + container: + image: ponylang/ponyup-ci-ubuntu-bootstrap-tester:20191228 + steps: + - uses: actions/checkout@v1 + - name: Bootstrap test + run: | + export ssl=1.1.x + .ci-scripts/test-bootstrap.sh + macos: name: Verify PR builds on macOS with most recent ponyc release runs-on: macos-latest