diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..09b8e37 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,101 @@ +name: Main +on: push + +# TODO - Need to not repeat the checkout and setup node steps... + +jobs: + # Set the job key. The key is displayed as the job name + # when a job name is not provided + lint: + runs-on: ubuntu-latest + steps: + - name: 🛑 Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.6.0 + with: + access_token: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: 12 + - uses: actions/checkout@v2 + - name: Install dependencies + run: npm i + - name: Check Security + run: npm audit + - uses: goto-bus-stop/standard-action@v1 + with: + # optionally select a different, standard-like linter + # linter: semistandard + + # optionally select a different eslint formatter for the log output, default 'stylish' + # formatter: tap + + # limit the files to lint, default '**/*.js' + # files: src/*.js + + # show errors in the the github diff UI + annotate: true + + # Allow the action to add lint errors to the github diff UI + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + test: + name: Test ${{ matrix.node }} + runs-on: ubuntu-18.04 + strategy: + matrix: + node: [ '8', '9', '10', '12' ] + steps: + - name: 🛑 Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.6.0 + with: + access_token: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node }} + - name: Install dependencies + run: npm i + - name: Test + run: npm t + release: + name: Release + runs-on: ubuntu-18.04 + needs: [ + test, + lint + ] + steps: + - name: 🛑 Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.6.0 + with: + access_token: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: 12 + - name: Install Dependencies + run: npm i + - name: 🚀 Release + uses: cycjimmy/semantic-release-action@v2 + with: + semantic_version: 17 + branches: | + [ + 'master' + ] + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5abdd79..0000000 --- a/.travis.yml +++ /dev/null @@ -1,21 +0,0 @@ -language: node_js -cache: - directories: - - node_modules -notifications: - email: false -node_js: - - '12' - - '10' - - '9' - - '8' -install: - - npm install -script: - - npm run travis -after_script: - - npx codecov - - npx semantic-release -branches: - except: - - /^v\d+\.\d+\.\d+$/ diff --git a/README.md b/README.md index fd4638b..d931e64 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ A dotenv system that supports defaults ### Status ![npm](https://img.shields.io/npm/v/dotenv-defaults.svg) +[![Main](https://github.com/mrsteele/dotenv-defaults/actions/workflows/main.yml/badge.svg)](https://github.com/mrsteele/dotenv-defaults/actions/workflows/main.yml) [![dependabot badge](https://badgen.net/dependabot/mrsteele/dotenv-defaults?icon=dependabot)](https://dependabot.com/) ### Installation diff --git a/package.json b/package.json index 6022d0d..5f3c13e 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,7 @@ "main": "src/index.js", "scripts": { "test": "jest", - "lint": "standard", - "travis": "npm run lint && npm t" + "lint": "standard" }, "repository": { "type": "git",