commit 7dbe17cca4cff5c76fddb46c6175026b7b41f606
parent 453ac732598c385c7d300f7cad2f2361a5b7b3c1
Author: finwo <finwo@pm.me>
Date: Tue, 21 Apr 2020 13:25:28 +0200
Combine build and publish workflows
Diffstat:
6 files changed, 16 insertions(+), 272 deletions(-)
diff --git a/.babelrc b/.babelrc
@@ -1,3 +0,0 @@
-{
- "presets" : ['env']
-}
diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml
@@ -29,3 +29,18 @@ jobs:
- run: npm test
env:
CI: true
+
+ publish:
+ needs: build
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-node@v1
+ with:
+ node-version: 12
+ registry-url: https://registry.npmjs.org/
+ - run: npm ci
+ - run: npm build
+ - run: if [ $(npm view $(node -p "require('./package.json').name") version) != $(node -p "require('./package.json').version") ]; then npm publish ; fi
+ env:
+ NODE_AUTH_TOKEN: ${{secrets.npm_token}}
diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml
@@ -1,50 +0,0 @@
-# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
-# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
-
-name: Node.js Package
-
-on:
- release:
- types: [created]
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-node@v1
- with:
- node-version: 12
- - run: npm ci
- - run: npm build
- - run: npm test
-
- publish-npm:
- needs: build
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-node@v1
- with:
- node-version: 12
- registry-url: https://registry.npmjs.org/
- - run: npm ci
- - run: npm build
- - run: npm publish
- env:
- NODE_AUTH_TOKEN: ${{secrets.npm_token}}
-
- publish-gpr:
- needs: build
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-node@v1
- with:
- node-version: 12
- registry-url: https://npm.pkg.github.com/
- - run: npm ci
- - run: npm build
- - run: npm publish
- env:
- NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
@@ -1,31 +0,0 @@
-image: node:10-alpine
-
-cache:
- paths:
- - node_modules/
-
-stages:
- - test
- - deploy
-
-tests:
- stage: test
- retry: 1
- script:
- - node -v
- - npm -v
- - npm rebuild
- - npm install
- - npm test
-
-publish to npmjs.com:
- stage: deploy
- retry: 2
- only:
- - master
- script:
- - apk update
- - apk add bash
- - scripts/prepublish.sh
- - echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
- - if [ $(npm view $(node -p "require('./package.json').name") version) != $(node -p "require('./package.json').version") ]; then npm publish ; fi
diff --git a/.npmignore b/.npmignore
@@ -2,6 +2,7 @@
/node_modules/
/coverage/
/.gtm/
+/.github/
!/dist/
.zedstate
*.test.js
diff --git a/jest.config.js b/jest.config.js
@@ -1,188 +0,0 @@
-// For a detailed explanation regarding each configuration property, visit:
-// https://jestjs.io/docs/en/configuration.html
-
-module.exports = {
- // All imported modules in your tests should be mocked automatically
- // automock: false,
-
- // Stop running tests after the first failure
- // bail: false,
-
- // Respect "browser" field in package.json when resolving modules
- // browser: false,
-
- // The directory where Jest should store its cached dependency information
- // cacheDirectory: "/tmp/jest_rs",
-
- // Automatically clear mock calls and instances between every test
- // clearMocks: false,
-
- // Indicates whether the coverage information should be collected while executing the test
- collectCoverage: true,
-
- // An array of glob patterns indicating a set of files for which coverage information should be collected
- collectCoverageFrom: ["src/**/*.js"],
-
- // The directory where Jest should output its coverage files
- coverageDirectory: "coverage",
-
- // An array of regexp pattern strings used to skip coverage collection
- coveragePathIgnorePatterns: [
- "/node_modules/"
- ],
-
- // A list of reporter names that Jest uses when writing coverage reports
- // coverageReporters: [
- // "json",
- // "text",
- // "lcov",
- // "clover"
- // ],
-
- // An object that configures minimum threshold enforcement for coverage results
- coverageThreshold: {
- global: {
- branches : 10,
- functions : 10,
- lines : 10,
- statements: 10,
- },
- },
-
- // Make calling deprecated APIs throw helpful error messages
- // errorOnDeprecated: false,
-
- // Force coverage collection from ignored files usin a array of glob patterns
- // forceCoverageMatch: [],
-
- // A path to a module which exports an async function that is triggered once before all test suites
- // globalSetup: '<rootDir>/jest.extend.js',
-
- // A path to a module which exports an async function that is triggered once after all test suites
- // globalTeardown: null,
-
- // A set of global variables that need to be available in all test environments
- // globals: {},
-
- // An array of directory names to be searched recursively up from the requiring module's location
- // moduleDirectories: [
- // "node_modules"
- // ],
-
- // An array of file extensions your modules use
- // moduleFileExtensions: [
- // "js",
- // "json",
- // "jsx",
- // "node"
- // ],
-
- // A map from regular expressions to module names that allow to stub out resources with a single module
- // moduleNameMapper: {},
-
- // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
- // modulePathIgnorePatterns: [],
-
- // Activates notifications for test results
- // notify: false,
-
- // An enum that specifies notification mode. Requires { notify: true }
- // notifyMode: "always",
-
- // A preset that is used as a base for Jest's configuration
- // preset: null,
-
- // Run tests from one or more projects
- // projects: null,
-
- // Use this configuration option to add custom reporters to Jest
- // reporters: undefined,
-
- // Automatically reset mock state between every test
- // resetMocks: false,
-
- // Reset the module registry before running each individual test
- // resetModules: false,
-
- // A path to a custom resolver
- // resolver: null,
-
- // Automatically restore mock state between every test
- // restoreMocks: false,
-
- // The root directory that Jest should scan for tests and modules within
- // rootDir: null,
-
- // A list of paths to directories that Jest should use to search for files in
- // roots: [
- // "<rootDir>"
- // ],
-
- // Allows you to use a custom runner instead of Jest's default test runner
- // runner: "jest-runner",
-
- // The paths to modules that run some code to configure or set up the testing environment before each test
- // setupFiles: [],
-
- // The path to a module that runs some code to configure or set up the testing framework before each test
- // setupTestFrameworkScriptFile: '<rootDir>/jest.extend.js',
-
- // A list of paths to snapshot serializer modules Jest should use for snapshot testing
- // snapshotSerializers: [],
-
- // The test environment that will be used for testing
- testEnvironment: "node",
-
- // Options that will be passed to the testEnvironment
- // testEnvironmentOptions: {},
-
- // Adds a location field to test results
- // testLocationInResults: false,
-
- // The glob patterns Jest uses to detect test files
- // testMatch: [
- // "**/__tests__/**/*.js?(x)",
- // "**/?(*.)+(spec|test).js?(x)"
- // ],
-
- // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
- testPathIgnorePatterns: [
- "/node_modules/",
- "<rootDir>/frontend/docroot/assets/riot/",
- ],
-
- // The regexp pattern Jest uses to detect test files
- // testRegex: "",
-
- // This option allows the use of a custom results processor
- // testResultsProcessor: null,
-
- // This option allows use of a custom test runner
- // testRunner: "jasmine2",
-
- // This option sets the URL for the jsdom environment. It is reflected in properties such as location.href
- // testURL: "http://localhost",
-
- // Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout"
- // timers: "real",
-
- // A map from regular expressions to paths to transformers
- // transform: null,
-
- // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
- transformIgnorePatterns: [
- "<rootDir>/node_modules/(?!timeago\\.js)/",
- ],
-
- // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them
- // unmockedModulePathPatterns: undefined,
-
- // Indicates whether each individual test should be reported during the run
- // verbose: null,
-
- // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode
- // watchPathIgnorePatterns: [],
-
- // Whether to use watchman for file crawling
- // watchman: true,
-};