From 958f67c80257b9958643676b03f06280b4d55331 Mon Sep 17 00:00:00 2001 From: "Matt (IPv4) Cowley" Date: Sat, 26 Sep 2020 11:10:44 +0100 Subject: [PATCH] Dedicated test workflow to run on PRs (#172) --- .editorconfig | 3 ++ .github/workflows/do-spaces-workflow.yml | 12 +++---- .github/workflows/gh-pages-workflow.yml | 15 ++++---- .github/workflows/test-workflow.yml | 46 ++++++++++++++++++++++++ package.json | 8 ++--- 5 files changed, 68 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/test-workflow.yml diff --git a/.editorconfig b/.editorconfig index da03104..e24cf8e 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,3 +11,6 @@ indent_size = 2 [*.json] indent_size = 2 + +[*.yml] +indent_size = 2 diff --git a/.github/workflows/do-spaces-workflow.yml b/.github/workflows/do-spaces-workflow.yml index 1b9321e..e1e190d 100644 --- a/.github/workflows/do-spaces-workflow.yml +++ b/.github/workflows/do-spaces-workflow.yml @@ -1,4 +1,4 @@ -name: Test and Deploy to DigitalOcean Spaces +name: Test and deploy to DigitalOcean Spaces on: push @@ -18,11 +18,11 @@ jobs: with: node-version: "${{ steps.nvm.outputs.NVMRC }}" - - name: npm ci, test, and build - run: | - npm ci - npm test - npm run build + - name: Install dependencies + run: npm ci + + - name: Build tool + run: npm run build - name: Deploy commit to DigitalOcean Spaces run: aws s3 sync ./dist s3://${{ secrets.SPACES_BUCKET }}/commits/nginxconfig/${{ github.sha }} --endpoint=https://${{ secrets.SPACES_REGION }}.digitaloceanspaces.com --acl public-read --content-encoding utf8 diff --git a/.github/workflows/gh-pages-workflow.yml b/.github/workflows/gh-pages-workflow.yml index dc148fc..113d905 100644 --- a/.github/workflows/gh-pages-workflow.yml +++ b/.github/workflows/gh-pages-workflow.yml @@ -1,4 +1,4 @@ -name: Test and Deploy to GitHub Pages +name: Test and deploy to GitHub Pages on: push: @@ -21,11 +21,14 @@ jobs: with: node-version: "${{ steps.nvm.outputs.NVMRC }}" - - name: npm ci, test, and build - run: | - npm ci - npm test - npm run build + - name: Install dependencies + run: npm ci + + - name: Test before production + run: npm test + + - name: Build tool + run: npm run build - name: Deploy master to GitHub Pages uses: JamesIves/github-pages-deploy-action@2.0.0 diff --git a/.github/workflows/test-workflow.yml b/.github/workflows/test-workflow.yml new file mode 100644 index 0000000..6fa0882 --- /dev/null +++ b/.github/workflows/test-workflow.yml @@ -0,0 +1,46 @@ +name: Test commit or pull request + +on: [push, pull_request] + +jobs: + eslint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + + - name: Read .nvmrc + run: echo "##[set-output name=NVMRC;]$(cat .nvmrc)" + id: nvm + + - name: Use Node.js (.nvmrc) + uses: actions/setup-node@v1 + with: + node-version: "${{ steps.nvm.outputs.NVMRC }}" + + - name: Install dependencies + run: npm ci + + - name: Test with eslint + run: npm run test:eslint + + sass-lint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + + - name: Read .nvmrc + run: echo "##[set-output name=NVMRC;]$(cat .nvmrc)" + id: nvm + + - name: Use Node.js (.nvmrc) + uses: actions/setup-node@v1 + with: + node-version: "${{ steps.nvm.outputs.NVMRC }}" + + - name: Install dependencies + run: npm ci + + - name: Test with sass-lint + run: npm run test:sass-lint diff --git a/package.json b/package.json index 99a9b50..167c64b 100644 --- a/package.json +++ b/package.json @@ -18,12 +18,12 @@ "dev:tool": "vue-cli-service serve src/nginxconfig/mount.js", "analyze": "npm run build:tool -- --analyze", "deploy:spaces:comment": "do-vue comment nginxconfig", - "test": "npm run test:eslint && npm run test:scss", - "test:fix": "npm run test:eslint:fix && npm run test:scss:fix", + "test": "npm run test:eslint && npm run test:sass-lint", + "test:fix": "npm run test:eslint:fix && npm run test:sass-lint:fix", "test:eslint": "eslint 'src/**/*.{js,vue}'", "test:eslint:fix": "npm run test:eslint -- --fix", - "test:scss": "sass-lint 'src/**/*.scss' --verbose --no-exit --config .sasslintrc", - "test:scss:fix": "sass-lint-auto-fix 'src/**/*.scss'" + "test:sass-lint": "sass-lint 'src/**/*.scss' --verbose --no-exit --config .sasslintrc", + "test:sass-lint:fix": "sass-lint-auto-fix 'src/**/*.scss'" }, "repository": { "type": "git",