mirror of
https://github.com/rjNemo/devbook_ts
synced 2026-06-11 21:16:45 +00:00
add release step to github actions
This commit is contained in:
parent
7a870ce878
commit
6ebaecdf48
10 changed files with 22 additions and 2579 deletions
23
.github/workflows/deploy.yml
vendored
23
.github/workflows/deploy.yml
vendored
|
|
@ -14,14 +14,27 @@ jobs:
|
||||||
REACT_APP_AUTH_DOMAIN: ${{ secrets.REACT_APP_AUTH_DOMAIN }}
|
REACT_APP_AUTH_DOMAIN: ${{ secrets.REACT_APP_AUTH_DOMAIN }}
|
||||||
REACT_APP_APP_ID: ${{ secrets.REACT_APP_APP_ID }}
|
REACT_APP_APP_ID: ${{ secrets.REACT_APP_APP_ID }}
|
||||||
REACT_APP_API_KEY: ${{ secrets.REACT_APP_API_KEY }}
|
REACT_APP_API_KEY: ${{ secrets.REACT_APP_API_KEY }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: yarn install --frozen-lockfile
|
run: yarn install --frozen-lockfile
|
||||||
- name: Unit tests
|
- name: Unit tests
|
||||||
run: yarn test --watchAll=false
|
run: yarn test --watchAll=false
|
||||||
- name: E2E tests
|
- name: E2E tests
|
||||||
uses: cypress-io/github-action@v1
|
uses: cypress-io/github-action@v1
|
||||||
with:
|
with:
|
||||||
start: yarn start
|
start: yarn start
|
||||||
wait-on: 'http://localhost:3000'
|
wait-on: 'http://localhost:3000'
|
||||||
|
release:
|
||||||
|
if: ${{ github.ref == 'master' }}
|
||||||
|
needs: test
|
||||||
|
name: Release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Build
|
||||||
|
run: yarn build
|
||||||
|
- name: Install Firebase CLI tools
|
||||||
|
run: yarn global add firebase-tools
|
||||||
|
- name: Deploy
|
||||||
|
run: firebase deploy --token ${{ secrets.FIREBASE_TOKEN }}
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -27,4 +27,5 @@ npm-debug.log*
|
||||||
yarn-debug.log*
|
yarn-debug.log*
|
||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
|
|
||||||
.env
|
.env
|
||||||
|
.firebase
|
||||||
|
|
@ -3,12 +3,6 @@
|
||||||
"rules": "firestore.rules",
|
"rules": "firestore.rules",
|
||||||
"indexes": "firestore.indexes.json"
|
"indexes": "firestore.indexes.json"
|
||||||
},
|
},
|
||||||
"functions": {
|
|
||||||
"predeploy": [
|
|
||||||
"npm --prefix \"$RESOURCE_DIR\" run lint",
|
|
||||||
"npm --prefix \"$RESOURCE_DIR\" run build"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"hosting": {
|
"hosting": {
|
||||||
"public": "build",
|
"public": "build",
|
||||||
"ignore": [
|
"ignore": [
|
||||||
|
|
@ -26,4 +20,4 @@
|
||||||
"storage": {
|
"storage": {
|
||||||
"rules": "storage.rules"
|
"rules": "storage.rules"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
8
functions/.gitignore
vendored
8
functions/.gitignore
vendored
|
|
@ -1,8 +0,0 @@
|
||||||
## Compiled JavaScript files
|
|
||||||
**/*.js
|
|
||||||
**/*.js.map
|
|
||||||
|
|
||||||
# Typescript v1 declaration files
|
|
||||||
typings/
|
|
||||||
|
|
||||||
node_modules/
|
|
||||||
2394
functions/package-lock.json
generated
2394
functions/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,26 +0,0 @@
|
||||||
{
|
|
||||||
"name": "functions",
|
|
||||||
"scripts": {
|
|
||||||
"lint": "tslint --project tsconfig.json",
|
|
||||||
"build": "tsc",
|
|
||||||
"serve": "npm run build && firebase emulators:start --only functions",
|
|
||||||
"shell": "npm run build && firebase functions:shell",
|
|
||||||
"start": "npm run shell",
|
|
||||||
"deploy": "firebase deploy --only functions",
|
|
||||||
"logs": "firebase functions:log"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": "8"
|
|
||||||
},
|
|
||||||
"main": "lib/index.js",
|
|
||||||
"dependencies": {
|
|
||||||
"firebase-admin": "^8.10.0",
|
|
||||||
"firebase-functions": "^3.6.0"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"tslint": "^5.12.0",
|
|
||||||
"typescript": "^3.2.2",
|
|
||||||
"firebase-functions-test": "^0.2.0"
|
|
||||||
},
|
|
||||||
"private": true
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
import * as functions from 'firebase-functions';
|
|
||||||
|
|
||||||
// // Start writing Firebase Functions
|
|
||||||
// // https://firebase.google.com/docs/functions/typescript
|
|
||||||
//
|
|
||||||
// export const helloWorld = functions.https.onRequest((request, response) => {
|
|
||||||
// response.send("Hello from Firebase!");
|
|
||||||
// });
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"module": "commonjs",
|
|
||||||
"noImplicitReturns": true,
|
|
||||||
"noUnusedLocals": true,
|
|
||||||
"outDir": "lib",
|
|
||||||
"sourceMap": true,
|
|
||||||
"strict": true,
|
|
||||||
"target": "es2017"
|
|
||||||
},
|
|
||||||
"compileOnSave": true,
|
|
||||||
"include": [
|
|
||||||
"src"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,115 +0,0 @@
|
||||||
{
|
|
||||||
"rules": {
|
|
||||||
// -- Strict errors --
|
|
||||||
// These lint rules are likely always a good idea.
|
|
||||||
|
|
||||||
// Force function overloads to be declared together. This ensures readers understand APIs.
|
|
||||||
"adjacent-overload-signatures": true,
|
|
||||||
|
|
||||||
// Do not allow the subtle/obscure comma operator.
|
|
||||||
"ban-comma-operator": true,
|
|
||||||
|
|
||||||
// Do not allow internal modules or namespaces . These are deprecated in favor of ES6 modules.
|
|
||||||
"no-namespace": true,
|
|
||||||
|
|
||||||
// Do not allow parameters to be reassigned. To avoid bugs, developers should instead assign new values to new vars.
|
|
||||||
"no-parameter-reassignment": true,
|
|
||||||
|
|
||||||
// Force the use of ES6-style imports instead of /// <reference path=> imports.
|
|
||||||
"no-reference": true,
|
|
||||||
|
|
||||||
// Do not allow type assertions that do nothing. This is a big warning that the developer may not understand the
|
|
||||||
// code currently being edited (they may be incorrectly handling a different type case that does not exist).
|
|
||||||
"no-unnecessary-type-assertion": true,
|
|
||||||
|
|
||||||
// Disallow nonsensical label usage.
|
|
||||||
"label-position": true,
|
|
||||||
|
|
||||||
// Disallows the (often typo) syntax if (var1 = var2). Replace with if (var2) { var1 = var2 }.
|
|
||||||
"no-conditional-assignment": true,
|
|
||||||
|
|
||||||
// Disallows constructors for primitive types (e.g. new Number('123'), though Number('123') is still allowed).
|
|
||||||
"no-construct": true,
|
|
||||||
|
|
||||||
// Do not allow super() to be called twice in a constructor.
|
|
||||||
"no-duplicate-super": true,
|
|
||||||
|
|
||||||
// Do not allow the same case to appear more than once in a switch block.
|
|
||||||
"no-duplicate-switch-case": true,
|
|
||||||
|
|
||||||
// Do not allow a variable to be declared more than once in the same block. Consider function parameters in this
|
|
||||||
// rule.
|
|
||||||
"no-duplicate-variable": [true, "check-parameters"],
|
|
||||||
|
|
||||||
// Disallows a variable definition in an inner scope from shadowing a variable in an outer scope. Developers should
|
|
||||||
// instead use a separate variable name.
|
|
||||||
"no-shadowed-variable": true,
|
|
||||||
|
|
||||||
// Empty blocks are almost never needed. Allow the one general exception: empty catch blocks.
|
|
||||||
"no-empty": [true, "allow-empty-catch"],
|
|
||||||
|
|
||||||
// Functions must either be handled directly (e.g. with a catch() handler) or returned to another function.
|
|
||||||
// This is a major source of errors in Cloud Functions and the team strongly recommends leaving this rule on.
|
|
||||||
"no-floating-promises": true,
|
|
||||||
|
|
||||||
// Do not allow any imports for modules that are not in package.json. These will almost certainly fail when
|
|
||||||
// deployed.
|
|
||||||
"no-implicit-dependencies": true,
|
|
||||||
|
|
||||||
// The 'this' keyword can only be used inside of classes.
|
|
||||||
"no-invalid-this": true,
|
|
||||||
|
|
||||||
// Do not allow strings to be thrown because they will not include stack traces. Throw Errors instead.
|
|
||||||
"no-string-throw": true,
|
|
||||||
|
|
||||||
// Disallow control flow statements, such as return, continue, break, and throw in finally blocks.
|
|
||||||
"no-unsafe-finally": true,
|
|
||||||
|
|
||||||
// Expressions must always return a value. Avoids common errors like const myValue = functionReturningVoid();
|
|
||||||
"no-void-expression": [true, "ignore-arrow-function-shorthand"],
|
|
||||||
|
|
||||||
// Disallow duplicate imports in the same file.
|
|
||||||
"no-duplicate-imports": true,
|
|
||||||
|
|
||||||
|
|
||||||
// -- Strong Warnings --
|
|
||||||
// These rules should almost never be needed, but may be included due to legacy code.
|
|
||||||
// They are left as a warning to avoid frustration with blocked deploys when the developer
|
|
||||||
// understand the warning and wants to deploy anyway.
|
|
||||||
|
|
||||||
// Warn when an empty interface is defined. These are generally not useful.
|
|
||||||
"no-empty-interface": {"severity": "warning"},
|
|
||||||
|
|
||||||
// Warn when an import will have side effects.
|
|
||||||
"no-import-side-effect": {"severity": "warning"},
|
|
||||||
|
|
||||||
// Warn when variables are defined with var. Var has subtle meaning that can lead to bugs. Strongly prefer const for
|
|
||||||
// most values and let for values that will change.
|
|
||||||
"no-var-keyword": {"severity": "warning"},
|
|
||||||
|
|
||||||
// Prefer === and !== over == and !=. The latter operators support overloads that are often accidental.
|
|
||||||
"triple-equals": {"severity": "warning"},
|
|
||||||
|
|
||||||
// Warn when using deprecated APIs.
|
|
||||||
"deprecation": {"severity": "warning"},
|
|
||||||
|
|
||||||
// -- Light Warnings --
|
|
||||||
// These rules are intended to help developers use better style. Simpler code has fewer bugs. These would be "info"
|
|
||||||
// if TSLint supported such a level.
|
|
||||||
|
|
||||||
// prefer for( ... of ... ) to an index loop when the index is only used to fetch an object from an array.
|
|
||||||
// (Even better: check out utils like .map if transforming an array!)
|
|
||||||
"prefer-for-of": {"severity": "warning"},
|
|
||||||
|
|
||||||
// Warns if function overloads could be unified into a single function with optional or rest parameters.
|
|
||||||
"unified-signatures": {"severity": "warning"},
|
|
||||||
|
|
||||||
// Prefer const for values that will not change. This better documents code.
|
|
||||||
"prefer-const": {"severity": "warning"},
|
|
||||||
|
|
||||||
// Multi-line object literals and function calls should have a trailing comma. This helps avoid merge conflicts.
|
|
||||||
"trailing-comma": {"severity": "warning"}
|
|
||||||
},
|
|
||||||
|
|
||||||
"defaultSeverity": "error"
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
rules_version = '2';
|
||||||
service firebase.storage {
|
service firebase.storage {
|
||||||
match /b/{bucket}/o {
|
match /b/{bucket}/o {
|
||||||
match /{allPaths=**} {
|
match /{allPaths=**} {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue