From 371e53141c7461f2513b86f1e9c867da72abd387 Mon Sep 17 00:00:00 2001 From: Matthew Crouch Date: Mon, 9 Nov 2020 16:51:35 -0500 Subject: [PATCH] EDSC-2969: Use github actions for CI --- .codecov.yml | 4 +++ .github/workflows/ci.yml | 76 +++++++++++++++++++++++++++++++++++++++ .nvmrc | 2 +- .travis.yml | 32 ----------------- .travis/travis.enc | Bin 3392 -> 0 bytes README.md | 3 +- bin/ecc-sync | 17 --------- 7 files changed, 83 insertions(+), 51 deletions(-) create mode 100644 .codecov.yml create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml delete mode 100644 .travis/travis.enc delete mode 100755 bin/ecc-sync diff --git a/.codecov.yml b/.codecov.yml new file mode 100644 index 00000000..35cde5cd --- /dev/null +++ b/.codecov.yml @@ -0,0 +1,4 @@ +coverage: + status: + project: off + patch: off diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..25f69bf6 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,76 @@ +name: CI + +on: + push: + branches: [master] + pull_request: {} + +jobs: + tests: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [12.16.3] + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: Cache node modules + uses: actions/cache@v2 + env: + cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + # not caching node_modules because `npm ci` removes it + path: ~/.npm + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + - name: Install dependencies + run: npm ci + - name: Run tests + run: npm run test + - name: Upload coverage to codecov + uses: codecov/codecov-action@v1 + deploy: + if: success() && github.ref == 'refs/heads/master' # only run on master success + needs: [tests] # only run after jest and cypress jobs complete + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + known_hosts: ${{ secrets.KNOWN_HOSTS }} + - name: Push to ECC + run: | + git remote add ecc ssh://git@git.earthdata.nasa.gov:7999/edsc/edsc-echoforms.git + git fetch ecc "+refs/heads/*:refs/remotes/origin/*" + + git fetch --unshallow || true + echo "GITHUB_COMMIT=$GITHUB_SHA" + git push ecc $GITHUB_SHA:refs/heads/master + deploy-gh-pages: + if: success() && github.ref == 'refs/heads/master' # only run on master success + needs: [tests] # only run after jest and cypress jobs complete + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Install dependencies + run: npm ci + - name: Run predeploy + run: npm run predeploy + - name: Deploy to Github Pages + uses: JamesIves/github-pages-deploy-action@3.7.1 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: gh-pages # The branch the action should deploy to. + FOLDER: dist # The folder the action should deploy. diff --git a/.nvmrc b/.nvmrc index da772b97..0c6886ca 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -10.4.1 +v12.16.3 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index b21e93d2..00000000 --- a/.travis.yml +++ /dev/null @@ -1,32 +0,0 @@ -language: node_js -addons: - chrome: stable - apt: - packages: - # Ubuntu 16+ does not install this dependency by default, so we need to install it ourselves - - libgconf-2-4 -cache: - npm: true - directories: - # we also need to cache folder with Cypress binary - - ~/.cache -branches: - only: - - master -script: - - npm install - - npm run cypress:run -before_deploy: "npm run predeploy" -deploy: - - provider: script - script: bin/ecc-sync - on: - branch: master - repo: nasa/edsc-echoforms - - provider: pages - skip_cleanup: true - github_token: $GITHUB_TOKEN - local_dir: dist - on: - branch: master - repo: nasa/edsc-echoforms diff --git a/.travis/travis.enc b/.travis/travis.enc deleted file mode 100644 index 4afbe26e0c0170f397ad4f8ca89419f5db6739ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3392 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 ~/.ssh/known_hosts -git remote add ecc ssh://git@git.earthdata.nasa.gov:7999/edsc/edsc-echoforms.git -git fetch ecc "+refs/heads/*:refs/remotes/origin/*" - -git fetch --unshallow || true -echo "TRAVIS_COMMIT=$TRAVIS_COMMIT" -git push ecc $TRAVIS_COMMIT:refs/heads/master