From 55e20d3d66007e57d97db13424fe47289d03583d Mon Sep 17 00:00:00 2001 From: Frederik Braun Date: Wed, 26 May 2021 09:47:30 +0200 Subject: [PATCH] [Infra] Move from Travis CI to GitHub Actions (fix #91) (#94) --- .github/workflows/pr-push.yml | 14 +++++++ .travis.yml | 15 ------- compile.sh | 16 -------- deploy.sh | 75 ----------------------------------- 4 files changed, 14 insertions(+), 106 deletions(-) create mode 100644 .github/workflows/pr-push.yml delete mode 100644 .travis.yml delete mode 100755 compile.sh delete mode 100755 deploy.sh diff --git a/.github/workflows/pr-push.yml b/.github/workflows/pr-push.yml new file mode 100644 index 0000000..a647524 --- /dev/null +++ b/.github/workflows/pr-push.yml @@ -0,0 +1,14 @@ +name: CI +on: + pull_request: {} + push: + branches: [main] +jobs: + main: + name: Build, Validate and Deploy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: w3c/spec-prod@v2 + with: + GH_PAGES_BRANCH: gh-pages diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2f9e42a..0000000 --- a/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -sudo: false -language: python -python: - - "3.7" -install: - - git clone https://github.com/tabatkins/bikeshed.git - - pip install --editable $PWD/bikeshed - - bikeshed update -script: - - bash ./deploy.sh - -env: - global: - - ENCRYPTION_LABEL: "58fa5526451a" - - COMMIT_AUTHOR_EMAIL: "authors@sanitizer.spec.invalid" diff --git a/compile.sh b/compile.sh deleted file mode 100755 index b1b64b3..0000000 --- a/compile.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -# So we can see what we're doing -set -x - -# Exit with nonzero exit code if anything fails -set -e - -# Run bikeshed. If there are errors, exit with a non-zero code -bikeshed --print=plain -f spec - -# The out directory should contain everything needed to produce the -# HTML version of the spec. Copy things there if the directory exists. - -mkdir -p out -cp index.html out diff --git a/deploy.sh b/deploy.sh deleted file mode 100755 index f593e56..0000000 --- a/deploy.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/bash - -# This is basically taken from -# https://gist.github.com/domenic/ec8b0fc8ab45f39403dd with minor -# modifications to support generating the spec and pushing to gh-pages - -set -e # Exit with nonzero exit code if anything fails - -SOURCE_BRANCH="main" -TARGET_BRANCH="gh-pages" - -function doCompile { - ./compile.sh -} - -# So we can see what we're doing -set -x - -# Pull requests and commits to other branches shouldn't try to deploy, just build to verify -if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "$SOURCE_BRANCH" ]; then - echo "Skipping deploy; just doing a build." - doCompile - exit 0 -fi - -# Save some useful information -REPO=`git config remote.origin.url` -SSH_REPO=${REPO/https:\/\/github.com\//git@github.com:} -SHA=`git rev-parse --verify HEAD` - -# Clone the existing gh-pages for this repo into out/ -# Create a new empty branch if gh-pages doesn't exist yet (should only happen on first deply) -git clone $REPO out -cd out -git checkout $TARGET_BRANCH || git checkout --orphan $TARGET_BRANCH -cd .. - -# Clean out existing contents -rm -rf out/**/* || exit 0 - -echo PWD = $PWD -# Run our compile script; quit if it fails. -doCompile || exit 1 - -# Now let's go have some fun with the cloned repo -cd out -git config user.name "Travis CI" -git config user.email "$COMMIT_AUTHOR_EMAIL" - -# If there are no changes to the compiled out (e.g. this is a README update) then just bail. -if git diff --quiet; then - echo "No changes to the output on this push; exiting." - exit 0 -fi - -# See what's changed (for debugging) -git status - -# Commit the "changes", i.e. the new version. -# The delta will show diffs between new and old versions. -git add -A . -git commit -m "Deploy to GitHub Pages: ${SHA}" - -# Get the deploy key by using Travis's stored variables to decrypt deploy_key.enc -ENCRYPTED_KEY_VAR="encrypted_${ENCRYPTION_LABEL}_key" -ENCRYPTED_IV_VAR="encrypted_${ENCRYPTION_LABEL}_iv" -ENCRYPTED_KEY=${!ENCRYPTED_KEY_VAR} -ENCRYPTED_IV=${!ENCRYPTED_IV_VAR} -openssl aes-256-cbc -K $ENCRYPTED_KEY -iv $ENCRYPTED_IV -in ../deploy_key.enc -out ../deploy_key -d -chmod 600 ../deploy_key -eval `ssh-agent -s` -ssh-add ../deploy_key - -# Now that we're all set up, we can push. -git push $SSH_REPO $TARGET_BRANCH