diff --git a/.gitea/workflows/ci-dev.yaml b/.gitea/workflows/ci-dev.yaml index 3478420..cbe555e 100644 --- a/.gitea/workflows/ci-dev.yaml +++ b/.gitea/workflows/ci-dev.yaml @@ -24,35 +24,25 @@ jobs: apt-get update -qq apt-get install -y gcc libcurl4-openssl-dev - # Gen2: compile the bootstrap C source into a working elc binary - - name: Build elc from bootstrap (gen2) + # Seed: use the committed linux-amd64 binary as the bootstrap + - name: Bootstrap from committed linux binary (seed) run: | - # -Wl,--allow-multiple-definition: elc-bootstrap.c and el_runtime.c both define - # is_digit/is_whitespace; bootstrap predates the text-processing primitives commit - gcc -O2 \ - -I el-compiler/runtime \ - dist/elc-bootstrap.c \ - el-compiler/runtime/el_runtime.c \ - -lcurl -lssl -lcrypto -lpthread -lm \ - -Wl,--allow-multiple-definition \ - -o dist/elc-gen2 - chmod +x dist/elc-gen2 - echo "gen2 elc built" - dist/elc-gen2 --version || true + chmod +x dist/platform/elc-linux-amd64 + echo "seed elc (committed linux-amd64 binary)" + dist/platform/elc-linux-amd64 --version || true - # Gen3: use gen2 to compile the El compiler from its own El source (self-host) - - name: Self-host compile El compiler with gen2 (gen3) + # Gen2: use seed to self-host compile the El compiler + - name: Self-host compile El compiler (gen2) run: | - mkdir -p dist/platform - dist/elc-gen2 elc-cli.el > dist/elc-gen3.c + dist/platform/elc-linux-amd64 elc-cli.el > dist/elc-gen2.c gcc -O2 \ -I el-compiler/runtime \ - dist/elc-gen3.c \ + dist/elc-gen2.c \ el-compiler/runtime/el_runtime.c \ -lcurl -lssl -lcrypto -lpthread -lm \ -o dist/platform/elc chmod +x dist/platform/elc - echo "gen3 (self-hosted) elc built" + echo "gen2 (self-hosted) elc built" dist/platform/elc --version || true - name: Run tests - text diff --git a/.gitea/workflows/ci-stage.yaml b/.gitea/workflows/ci-stage.yaml index 94c6b60..12ad316 100644 --- a/.gitea/workflows/ci-stage.yaml +++ b/.gitea/workflows/ci-stage.yaml @@ -34,35 +34,25 @@ jobs: apt-get update -qq apt-get install -y gcc libcurl4-openssl-dev - # Gen2: compile the bootstrap C source into a working elc binary - - name: Build elc from bootstrap (gen2) + # Seed: use the committed linux-amd64 binary as the bootstrap + - name: Bootstrap from committed linux binary (seed) run: | - # -Wl,--allow-multiple-definition: elc-bootstrap.c and el_runtime.c both define - # is_digit/is_whitespace; bootstrap predates the text-processing primitives commit - gcc -O2 \ - -I el-compiler/runtime \ - dist/elc-bootstrap.c \ - el-compiler/runtime/el_runtime.c \ - -lcurl -lssl -lcrypto -lpthread -lm \ - -Wl,--allow-multiple-definition \ - -o dist/elc-gen2 - chmod +x dist/elc-gen2 - echo "gen2 elc built" - dist/elc-gen2 --version || true + chmod +x dist/platform/elc-linux-amd64 + echo "seed elc (committed linux-amd64 binary)" + dist/platform/elc-linux-amd64 --version || true - # Gen3: use gen2 to compile the El compiler from its own El source (self-host) - - name: Self-host compile El compiler with gen2 (gen3) + # Gen2: use seed to self-host compile the El compiler + - name: Self-host compile El compiler (gen2) run: | - mkdir -p dist/platform - dist/elc-gen2 elc-cli.el > dist/elc-gen3.c + dist/platform/elc-linux-amd64 elc-cli.el > dist/elc-gen2.c gcc -O2 \ -I el-compiler/runtime \ - dist/elc-gen3.c \ + dist/elc-gen2.c \ el-compiler/runtime/el_runtime.c \ -lcurl -lssl -lcrypto -lpthread -lm \ -o dist/platform/elc chmod +x dist/platform/elc - echo "gen3 (self-hosted) elc built" + echo "gen2 (self-hosted) elc built" dist/platform/elc --version || true - name: Run tests - text diff --git a/.gitea/workflows/sdk-release.yaml b/.gitea/workflows/sdk-release.yaml index 33106d1..075eb2c 100644 --- a/.gitea/workflows/sdk-release.yaml +++ b/.gitea/workflows/sdk-release.yaml @@ -34,35 +34,26 @@ jobs: apt-get update -qq apt-get install -y gcc libcurl4-openssl-dev - # Gen2: compile the bootstrap C source into a working elc binary - - name: Build elc from bootstrap (gen2) + # Seed: use the committed linux-amd64 binary as the bootstrap + - name: Bootstrap from committed linux binary (seed) run: | - # -Wl,--allow-multiple-definition: elc-bootstrap.c and el_runtime.c both define - # is_digit/is_whitespace; bootstrap predates the text-processing primitives commit - gcc -O2 \ - -I el-compiler/runtime \ - dist/elc-bootstrap.c \ - el-compiler/runtime/el_runtime.c \ - -lcurl -lssl -lcrypto -lpthread -lm \ - -Wl,--allow-multiple-definition \ - -o dist/elc-gen2 - chmod +x dist/elc-gen2 - echo "gen2 elc built" - dist/elc-gen2 --version || true + chmod +x dist/platform/elc-linux-amd64 + echo "seed elc (committed linux-amd64 binary)" + dist/platform/elc-linux-amd64 --version || true - # Gen3: use gen2 to compile the El compiler from its own El source (self-host) - - name: Self-host compile El compiler with gen2 (gen3) + # Gen2: use seed to self-host compile the El compiler + - name: Self-host compile El compiler (gen2) run: | mkdir -p dist/platform - dist/elc-gen2 elc-cli.el > dist/elc-gen3.c + dist/platform/elc-linux-amd64 elc-cli.el > dist/elc-gen2.c gcc -O2 \ -I el-compiler/runtime \ - dist/elc-gen3.c \ + dist/elc-gen2.c \ el-compiler/runtime/el_runtime.c \ -lcurl -lssl -lcrypto -lpthread -lm \ -o dist/platform/elc chmod +x dist/platform/elc - echo "gen3 (self-hosted) elc built" + echo "gen2 (self-hosted) elc built" dist/platform/elc --version || true # Build elb binary