Skip to content

Commit

Permalink
Add github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
ZJONSSON committed Apr 14, 2024
1 parent 0c0c1f0 commit 568f206
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 28 deletions.
13 changes: 0 additions & 13 deletions .circleci/config.yml

This file was deleted.

50 changes: 50 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Deploy coverate report to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["master"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Single deploy job since we're just deploying
coverage:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Use Node.js 18
uses: actions/setup-node@v3
with:
node-version: '18.x'
- run: npm install
- run: npm run build --if-present
- run: npm test
- run: npx lcov-badge2 coverage/lcov.info -o coverage/lcov-report/badge.svg
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
path: 'coverage/lcov-report'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2

26 changes: 26 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Node.js CI

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:

jobs:
test:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x, 20.x]

steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm run build --if-present
- run: npm test
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
"iconv-lite": "^0.4.24",
"request": "^2.88.0",
"stream-buffers": ">= 0.2.5 < 1",
"tap": ">= 0.3.0 < 1",
"tap": "^18.7.2",
"temp": ">= 0.4.0 < 1"
},
"directories": {
Expand Down
27 changes: 13 additions & 14 deletions test/extractFromUrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,21 @@ var unzip = require("../");
var os = require("os");
var request = require("request");

test("extract zip from url", function (t) {
test("extract zip from url", async t => {
t.setTimeout(15000);
var extractPath = os.tmpdir() + "/node-unzip-extract-fromURL"; // Not using path resolve, cause it should be resolved in extract() function
unzip.Open.url(
const zip = await unzip.Open.url(
request,
"https://github.com/h5bp/html5-boilerplate/releases/download/v7.3.0/html5-boilerplate_v7.3.0.zip"
)
.then(function(d) { return d.extract({ path: extractPath }); })
.then(function(d) {
var dirFiles = fs.readdirSync(extractPath);
var isPassing =
dirFiles.length > 10 &&
dirFiles.indexOf("css") > -1 &&
dirFiles.indexOf("index.html") > -1 &&
dirFiles.indexOf("favicon.ico") > -1;
);
await zip.extract({ path: extractPath });

var dirFiles = fs.readdirSync(extractPath);
var isPassing =
dirFiles.length > 10 &&
dirFiles.indexOf("css") > -1 &&
dirFiles.indexOf("index.html") > -1 &&
dirFiles.indexOf("favicon.ico") > -1;

t.equal(isPassing, true);
t.end();
});
t.equal(isPassing, true);
});

0 comments on commit 568f206

Please sign in to comment.