From 14881641cce414357edac67be6ef493de8d1849f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20D=C4=9Bdi=C4=8D?= Date: Tue, 8 Dec 2020 16:40:17 +0100 Subject: [PATCH 1/8] Moved from Travis to GH Actions --- .github/workflows/CI.yml | 100 +++++++++++++++++++++++++++++++++++++++ .travis.yml | 11 ----- 2 files changed, 100 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/CI.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..eab39c7 --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,100 @@ +name: "CI" +on: + push: + branches: "*" + pull_request: +jobs: + build: + name: "Build" + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [10.x, 12.x] + steps: + - name: "Checkout" + uses: actions/checkout@v2 + - name: "Setup node" + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: "Cache NPM dependencies" + uses: actions/cache@v2 + with: + path: "~/.npm" + key: npm-dependencies-${{ runner.os }}-${{ hashFiles('package.json') }} + restore-keys: | + npm-dependencies-${{ runner.os }}-${{ hashFiles('package.json') }} + npm-dependencies-${{ runner.os }}- + - name: "Install NPM dependencies" + run: | + npm ci + - name: "Build" + run: | + npm run build + - name: "Upload artifact" + uses: actions/upload-artifact@v2 + with: + name: "build-artifact" + path: dist + test: + name: "Test" + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [10.x, 12.x] + steps: + - name: "Checkout" + uses: actions/checkout@v2 + - name: "Setup node" + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: "Cache NPM dependencies" + uses: actions/cache@v2 + with: + path: "~/.npm" + key: npm-dependencies-${{ runner.os }}-${{ hashFiles('package.json') }} + restore-keys: | + npm-dependencies-${{ runner.os }}-${{ hashFiles('package.json') }} + npm-dependencies-${{ runner.os }}- + - name: "Install NPM dependencies" + run: | + npm ci + - name: "Download build artifact" + uses: actions/download-artifact@v2 + with: + name: "build-artifact" + path: dist + - name: "Test" + run: | + npm test + - name: "Upload coverage results" + run: | + npm run coverage + lint: + name: "Lint" + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [12.x] + steps: + - name: "Checkout" + uses: actions/checkout@v2 + - name: "Setup node" + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: "Cache NPM dependencies" + uses: actions/cache@v2 + with: + path: "~/.npm" + key: npm-dependencies-${{ runner.os }}-${{ hashFiles('package.json') }} + restore-keys: | + npm-dependencies-${{ runner.os }}-${{ hashFiles('package.json') }} + npm-dependencies-${{ runner.os }}- + - name: "Install NPM dependencies" + run: | + npm ci + - name: "Lint" + run: | + npm run lint diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 4aafdfa..0000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: node_js -node_js: -- '12.0' -- '10.0' -before_script: -- npm run lint -script: -- npm run build -- npm test -after_script: -- npm run coverage From 3d4089caaf2cb8f44d878f14a2fee4734f56f782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20D=C4=9Bdi=C4=8D?= Date: Tue, 8 Dec 2020 16:44:00 +0100 Subject: [PATCH 2/8] GH actions: Test allows coverage upload to fail --- .github/workflows/CI.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index eab39c7..f3f4f71 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -69,6 +69,7 @@ jobs: run: | npm test - name: "Upload coverage results" + continue-on-error: true run: | npm run coverage lint: From 5d6543eb2b83833e99535af90295c64500fa7441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20D=C4=9Bdi=C4=8D?= Date: Wed, 9 Dec 2020 22:30:51 +0100 Subject: [PATCH 3/8] GH actions separating build artifacts by Node version --- .github/workflows/CI.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index f3f4f71..126efc2 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -34,7 +34,7 @@ jobs: - name: "Upload artifact" uses: actions/upload-artifact@v2 with: - name: "build-artifact" + name: "build-artifact-${{ matrix.node-version }}" path: dist test: name: "Test" @@ -63,7 +63,7 @@ jobs: - name: "Download build artifact" uses: actions/download-artifact@v2 with: - name: "build-artifact" + name: "build-artifact-${{ matrix.node-version }}" path: dist - name: "Test" run: | From 0a99f1bb34105f68094727e708c78628ea2ed649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20D=C4=9Bdi=C4=8D?= Date: Wed, 9 Dec 2020 22:34:11 +0100 Subject: [PATCH 4/8] GH action test depends on build --- .github/workflows/CI.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 126efc2..ea47f18 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -39,6 +39,7 @@ jobs: test: name: "Test" runs-on: ubuntu-latest + needs: build strategy: matrix: node-version: [10.x, 12.x] From 4705bfc7ecc3be28fc8b165e89e23144202e503c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20D=C4=9Bdi=C4=8D?= Date: Thu, 25 Mar 2021 10:44:20 +0100 Subject: [PATCH 5/8] npm ci -> npm install --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index ea47f18..b3872bf 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -60,7 +60,7 @@ jobs: npm-dependencies-${{ runner.os }}- - name: "Install NPM dependencies" run: | - npm ci + npm install - name: "Download build artifact" uses: actions/download-artifact@v2 with: From d1a99fe4f242de87cb38f76ccd303cdcac9da457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20D=C4=9Bdi=C4=8D?= Date: Thu, 25 Mar 2021 10:45:39 +0100 Subject: [PATCH 6/8] npm ci -> npm install, part 2 --- .github/workflows/CI.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index b3872bf..d48576b 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -27,7 +27,7 @@ jobs: npm-dependencies-${{ runner.os }}- - name: "Install NPM dependencies" run: | - npm ci + npm install - name: "Build" run: | npm run build @@ -96,7 +96,7 @@ jobs: npm-dependencies-${{ runner.os }}- - name: "Install NPM dependencies" run: | - npm ci + npm install - name: "Lint" run: | npm run lint From c046062b6714feb0e8796b6a8aa16cf491952cea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20D=C4=9Bdi=C4=8D?= Date: Mon, 14 Jun 2021 11:31:40 +0200 Subject: [PATCH 7/8] Using Node 12 and 14 --- .github/workflows/CI.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index d48576b..dc20a19 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [10.x, 12.x] + node-version: [12.x, 14.x] steps: - name: "Checkout" uses: actions/checkout@v2 @@ -42,7 +42,7 @@ jobs: needs: build strategy: matrix: - node-version: [10.x, 12.x] + node-version: [12.x, 14.x] steps: - name: "Checkout" uses: actions/checkout@v2 @@ -78,7 +78,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x] + node-version: [14.x] steps: - name: "Checkout" uses: actions/checkout@v2 From 9f60307ce10eab85e245cc62cf665c8156107703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20D=C4=9Bdi=C4=8D?= Date: Tue, 5 Sep 2023 23:20:32 +0200 Subject: [PATCH 8/8] CI: Separating NPM cache by Node version --- .github/workflows/CI.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index dc20a19..aa9e837 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -21,10 +21,10 @@ jobs: uses: actions/cache@v2 with: path: "~/.npm" - key: npm-dependencies-${{ runner.os }}-${{ hashFiles('package.json') }} + key: npm-dependencies-${{ runner.os }}-${{ matrix.node-version }}-${{ hashFiles('package.json') }} restore-keys: | - npm-dependencies-${{ runner.os }}-${{ hashFiles('package.json') }} - npm-dependencies-${{ runner.os }}- + npm-dependencies-${{ runner.os }}-${{ matrix.node-version }}-${{ hashFiles('package.json') }} + npm-dependencies-${{ runner.os }}-${{ matrix.node-version }}- - name: "Install NPM dependencies" run: | npm install @@ -54,10 +54,10 @@ jobs: uses: actions/cache@v2 with: path: "~/.npm" - key: npm-dependencies-${{ runner.os }}-${{ hashFiles('package.json') }} + key: npm-dependencies-${{ runner.os }}-${{ matrix.node-version }}-${{ hashFiles('package.json') }} restore-keys: | - npm-dependencies-${{ runner.os }}-${{ hashFiles('package.json') }} - npm-dependencies-${{ runner.os }}- + npm-dependencies-${{ runner.os }}-${{ matrix.node-version }}-${{ hashFiles('package.json') }} + npm-dependencies-${{ runner.os }}-${{ matrix.node-version }}- - name: "Install NPM dependencies" run: | npm install @@ -90,10 +90,10 @@ jobs: uses: actions/cache@v2 with: path: "~/.npm" - key: npm-dependencies-${{ runner.os }}-${{ hashFiles('package.json') }} + key: npm-dependencies-${{ runner.os }}-${{ matrix.node-version }}-${{ hashFiles('package.json') }} restore-keys: | - npm-dependencies-${{ runner.os }}-${{ hashFiles('package.json') }} - npm-dependencies-${{ runner.os }}- + npm-dependencies-${{ runner.os }}-${{ matrix.node-version }}-${{ hashFiles('package.json') }} + npm-dependencies-${{ runner.os }}-${{ matrix.node-version }}- - name: "Install NPM dependencies" run: | npm install