automated using bump-everywhere + more quality checks (#8)
- new workflows - linting commands & linted stuff - security checks & fixed audited vulnerabilities - updated documentation
This commit is contained in:
23
.github/workflows/bump-and-release.yaml
vendored
Normal file
23
.github/workflows/bump-and-release.yaml
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
name: Bump & release
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [closed]
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
push: # Ensure a new release is created for each new tag
|
||||||
|
tags:
|
||||||
|
- '[0-9]+.[0-9]+.[0-9]+'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
bump-version-and-release:
|
||||||
|
if: > # Push => Ensure only changes from master. PR => to not trigger when closing PR without merging
|
||||||
|
(github.event_name == 'push' && github.event.base_ref == 'refs/heads/master')
|
||||||
|
|| github.event.pull_request.merged == true
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
uses: undergroundwires/bump-everywhere@master
|
||||||
|
with:
|
||||||
|
user: undergroundwires-bot
|
||||||
|
release-token: ${{secrets.BUMP_GITHUB_PAT}} # Does not trigger release pipeline if we use default token: https://github.community/t5/GitHub-Actions/Github-Action-trigger-on-release-not-working-if-releases-was/td-p/34559
|
||||||
@@ -1,31 +1,11 @@
|
|||||||
name: Build & deploy
|
name: Build & deploy
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
release:
|
||||||
branches:
|
types: [created] # will be triggered when a NON-draft release is created and published.
|
||||||
- master
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
increase-version:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: '12.x'
|
|
||||||
- name: Setup GIT
|
|
||||||
run: |
|
|
||||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
|
||||||
git config user.name "$GITHUB_ACTOR"
|
|
||||||
- name: Install and Publish
|
|
||||||
run: |
|
|
||||||
npm version patch -m "🚀 upgraded to %s"
|
|
||||||
git push --set-upstream origin master && git push --tags
|
|
||||||
env:
|
|
||||||
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
|
||||||
|
|
||||||
build-and-deploy:
|
build-and-deploy:
|
||||||
needs: increase-version
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
@@ -98,11 +78,12 @@ jobs:
|
|||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
path: site
|
path: site
|
||||||
|
ref: master # otherwise we don't get version bump commit
|
||||||
-
|
-
|
||||||
name: "App: Setup node"
|
name: "App: Setup node"
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
with:
|
with:
|
||||||
node-version: '12.x'
|
node-version: '14.x'
|
||||||
-
|
-
|
||||||
name: "App: Install dependencies"
|
name: "App: Install dependencies"
|
||||||
run: npm install
|
run: npm install
|
||||||
37
.github/workflows/quality-checks.yaml
vendored
Normal file
37
.github/workflows/quality-checks.yaml
vendored
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
name: Quality checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
-
|
||||||
|
name: Setup node
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: 14.x
|
||||||
|
-
|
||||||
|
name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
-
|
||||||
|
name: Lint vue
|
||||||
|
run: npm run lint:vue
|
||||||
|
-
|
||||||
|
name: Lint yaml
|
||||||
|
run: npm run lint:yaml
|
||||||
|
-
|
||||||
|
name: 'Validate md: Relative URLs'
|
||||||
|
run: npm run lint:md:relative-urls
|
||||||
|
-
|
||||||
|
name: 'Validate md: Enforce standards'
|
||||||
|
run: npm run lint:md
|
||||||
|
-
|
||||||
|
name: 'Validate md: Ensure consistency'
|
||||||
|
run: npm run lint:md:consistency
|
||||||
24
.github/workflows/security-checks.yaml
vendored
Normal file
24
.github/workflows/security-checks.yaml
vendored
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
name: Security checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * 0'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
npm-audit:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
-
|
||||||
|
name: Setup node
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: 14.x
|
||||||
|
-
|
||||||
|
name: NPM audit
|
||||||
|
run: npm audit
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
name: Run tests
|
name: Test
|
||||||
|
|
||||||
on: [push, pull_request]
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run-tests:
|
run-tests:
|
||||||
@@ -8,15 +11,15 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v2
|
||||||
-
|
-
|
||||||
name: Setup node
|
name: Setup node
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
with:
|
with:
|
||||||
node-version: '11.x'
|
node-version: '14.x'
|
||||||
-
|
-
|
||||||
name: Install dependencies
|
name: Install dependencies
|
||||||
run: npm install
|
run: npm ci
|
||||||
-
|
-
|
||||||
name: Run tests
|
name: Run tests
|
||||||
run: npm run test:unit
|
run: npm run test:unit
|
||||||
4
.markdownlint.json
Normal file
4
.markdownlint.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"default": true,
|
||||||
|
"MD013": false
|
||||||
|
}
|
||||||
55
CHANGELOG.md
55
CHANGELOG.md
@@ -1,55 +0,0 @@
|
|||||||
# Changelog
|
|
||||||
|
|
||||||
- All notable changes to this project will be documented in this file.
|
|
||||||
|
|
||||||
## Unreleased
|
|
||||||
|
|
||||||
-
|
|
||||||
|
|
||||||
## [0.4.2] - 2020-02-29
|
|
||||||
|
|
||||||
- Fixed search text font being defaulted to Arial.
|
|
||||||
- Shortened `HKEY` paths in scripts
|
|
||||||
|
|
||||||
## [0.4.1] - 2020-01-11
|
|
||||||
|
|
||||||
- Fixed & improved search
|
|
||||||
- Hiding grouping while searching
|
|
||||||
- Showing search queries when searching
|
|
||||||
|
|
||||||
## [0.4.0] - 2020-01-11
|
|
||||||
|
|
||||||
- Added search
|
|
||||||
- Some styling improvements
|
|
||||||
- Better organization of scripts + more scripts
|
|
||||||
|
|
||||||
## [0.3.0] - 2020-01-09
|
|
||||||
|
|
||||||
- Added support for grouping
|
|
||||||
- Added some meta tags
|
|
||||||
- Added "Disable NVIDIA telemetry" script
|
|
||||||
- Added legacy browser compatibility for fonts & changed main font
|
|
||||||
|
|
||||||
## [0.2.0] - 2020-01-06
|
|
||||||
|
|
||||||
- Fixed typo in generated code.
|
|
||||||
- Better URL validation for documentation links in `application.yaml`.
|
|
||||||
- Slightly faster parsing of `application.yaml`
|
|
||||||
- Styled no JS error that's shown when JavaScript is disabled.
|
|
||||||
- The default selection is now *None* & instruction text is shown in code box when nothing is selected.
|
|
||||||
- Added hyphen lines when rendering of long function names
|
|
||||||
- Changed subtitle: added version as footer instead.
|
|
||||||
|
|
||||||
## [0.1.0] - 2019-12-31
|
|
||||||
|
|
||||||
- Initial release
|
|
||||||
|
|
||||||
## All releases
|
|
||||||
|
|
||||||
- [Unreleased] : https://github.com/undergroundwires/privacy.sexy/compare/v0.4.2...HEAD
|
|
||||||
- [v0.4.2] : https://github.com/undergroundwires/privacy.sexy/compare/v0.4.1...v0.4.2
|
|
||||||
- [v0.4.1] : https://github.com/undergroundwires/privacy.sexy/compare/v0.4.0...v0.4.1
|
|
||||||
- [v0.4.0] : https://github.com/undergroundwires/privacy.sexy/compare/v0.3.0...v0.4.0
|
|
||||||
- [v0.3.0] : https://github.com/undergroundwires/privacy.sexy/compare/v0.2.0...v0.3.0
|
|
||||||
- [v0.2.0] : https://github.com/undergroundwires/privacy.sexy/compare/v0.1.0...v0.2.0
|
|
||||||
- [v0.1.0] : https://github.com/undergroundwires/privacy.sexy/releases/tag/v0.1.0
|
|
||||||
30
README.md
30
README.md
@@ -1,13 +1,16 @@
|
|||||||
# privacy.sexy
|
# privacy.sexy
|
||||||
|
|
||||||

|
> Web tool to enforce privacy & security best-practices on Windows, because privacy is sexy 🍑🍆
|
||||||

|
|
||||||
[](https://github.com/undergroundwires/privacy.sexy/issues)
|
[](https://github.com/undergroundwires/privacy.sexy/issues)
|
||||||
[](https://lgtm.com/projects/g/undergroundwires/privacy.sexy/context:javascript)
|
[](https://lgtm.com/projects/g/undergroundwires/privacy.sexy/context:javascript)
|
||||||
[](https://codeclimate.com/github/undergroundwires/privacy.sexy/maintainability)
|
[](https://codeclimate.com/github/undergroundwires/privacy.sexy/maintainability)
|
||||||
|
[](https://github.com/undergroundwires/privacy.sexy/actions)
|
||||||
Web tool to generate scripts for enforcing privacy & security best-practices such as stopping data collection of Windows and different softwares on it.
|
[](https://github.com/undergroundwires/privacy.sexy/actions)
|
||||||
> because privacy is sexy 🍑🍆
|
[](https://github.com/undergroundwires/privacy.sexy/actions)
|
||||||
|
[](https://github.com/undergroundwires/privacy.sexy/actions)
|
||||||
|
[](https://github.com/undergroundwires/privacy.sexy/actions)
|
||||||
|
[](https://github.com/undergroundwires/bump-everywhere)
|
||||||
|
|
||||||
[https://privacy.sexy](https://privacy.sexy)
|
[https://privacy.sexy](https://privacy.sexy)
|
||||||
|
|
||||||
@@ -50,7 +53,7 @@ Fork it & add more scripts in [application.yaml](src/application/application.yam
|
|||||||
- **Application Layer**
|
- **Application Layer**
|
||||||
- Keeps the application state
|
- Keeps the application state
|
||||||
- The [state](src/application/State/ApplicationState.ts) is a mutable singleton & event producer.
|
- The [state](src/application/State/ApplicationState.ts) is a mutable singleton & event producer.
|
||||||
- The application is defined & controlled in a [single YAML file](`\application\application.yaml`) (see [Data-driven programming](https://en.wikipedia.org/wiki/Data-driven_programming))
|
- The application is defined & controlled in a [single YAML file](src/application/application.yaml) (see [Data-driven programming](https://en.wikipedia.org/wiki/Data-driven_programming))
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -64,17 +67,8 @@ Fork it & add more scripts in [application.yaml](src/application/application.yam
|
|||||||
|
|
||||||
#### GitOps: CI/CD to AWS
|
#### GitOps: CI/CD to AWS
|
||||||
|
|
||||||
|
- CI/CD is fully automated for this repo using different GIT events & GitHub actions.
|
||||||
|
- Versioning, tagging, creation of `CHANGELOG.md` and releasing is automated using [bump-everywhere](https://github.com/undergroundwires/bump-everywhere) action
|
||||||
- Everything that's merged in the master goes directly to production.
|
- Everything that's merged in the master goes directly to production.
|
||||||
- See more at [build-and-deploy.yaml](.github/workflows/build-and-deploy.yaml), and [run-tests.yaml](.github/workflows/run-tests.yaml)
|
|
||||||
|
|
||||||
[](.github/workflows/build-and-deploy.yaml)
|
[](.github/workflows/)
|
||||||
|
|
||||||
## Thank you for the awesome projects 🍺
|
|
||||||
|
|
||||||
- [Vue.js](https://vuejs.org/) the only big JavaScript framework that's not backed by companies that make money off your data.
|
|
||||||
- [liquor-tree](https://GitHub.com/amsik/liquor-tree) for the awesome & super extensible tree component.
|
|
||||||
- [Ace](https://ace.c9.io/) for code box.
|
|
||||||
- [FileSaver.js](https://GitHub.com/eligrey/FileSaver.js) for save file dialog.
|
|
||||||
- [chai](https://GitHub.com/chaijs/chai) & [mocha](https://GitHub.com/mochajs/mocha) for making testing fun.
|
|
||||||
- [js-yaml-loader](https://GitHub.com/wwilsman/js-yaml-loader) for ahead of time loading `application.yml`
|
|
||||||
- [v-tooltip](https://GitHub.com/Akryum/v-tooltip) takes seconds to have a tooltip, exactly what I needed.
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
BIN
docs/gitops.png
BIN
docs/gitops.png
Binary file not shown.
|
Before Width: | Height: | Size: 171 KiB After Width: | Height: | Size: 233 KiB |
4060
package-lock.json
generated
4060
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
24
package.json
24
package.json
@@ -5,8 +5,12 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
"build": "vue-cli-service build",
|
"build": "vue-cli-service build",
|
||||||
"lint": "vue-cli-service lint",
|
"lint:vue": "vue-cli-service lint --no-fix",
|
||||||
"test:unit": "vue-cli-service test:unit"
|
"lint:yaml": "yamllint **/*.yaml --ignore=node_modules/**/*.yaml",
|
||||||
|
"test:unit": "vue-cli-service test:unit",
|
||||||
|
"lint:md": "markdownlint **/*.md --ignore node_modules",
|
||||||
|
"lint:md:relative-urls": "remark . --frail --use remark-validate-links",
|
||||||
|
"lint:md:consistency": "remark . --frail --use remark-preset-lint-consistent"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-svg-core": "^1.2.26",
|
"@fortawesome/fontawesome-svg-core": "^1.2.26",
|
||||||
@@ -24,19 +28,25 @@
|
|||||||
"vue-property-decorator": "^8.3.0"
|
"vue-property-decorator": "^8.3.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/chai": "^4.2.7",
|
|
||||||
"@types/mocha": "^5.2.7",
|
|
||||||
"@types/ace": "0.0.42",
|
"@types/ace": "0.0.42",
|
||||||
|
"@types/chai": "^4.2.7",
|
||||||
"@types/file-saver": "^2.0.1",
|
"@types/file-saver": "^2.0.1",
|
||||||
"@vue/cli-plugin-typescript": "^4.1.1",
|
"@types/mocha": "^5.2.7",
|
||||||
|
"@vue/cli-plugin-typescript": "^4.4.0",
|
||||||
"@vue/cli-plugin-unit-mocha": "^4.1.1",
|
"@vue/cli-plugin-unit-mocha": "^4.1.1",
|
||||||
"@vue/cli-service": "^4.1.1",
|
"@vue/cli-service": "^4.1.1",
|
||||||
"@vue/test-utils": "1.0.0-beta.30",
|
"@vue/test-utils": "1.0.0-beta.30",
|
||||||
"chai": "^4.2.0",
|
"chai": "^4.2.0",
|
||||||
|
"js-yaml-loader": "^1.2.2",
|
||||||
|
"markdownlint-cli": "^0.23.1",
|
||||||
|
"remark-cli": "^8.0.0",
|
||||||
|
"remark-lint-no-dead-urls": "^1.0.2",
|
||||||
|
"remark-preset-lint-consistent": "^3.0.0",
|
||||||
|
"remark-validate-links": "^10.0.0",
|
||||||
"sass": "^1.24.0",
|
"sass": "^1.24.0",
|
||||||
"sass-loader": "^8.0.0",
|
"sass-loader": "^8.0.0",
|
||||||
"js-yaml-loader": "^1.2.2",
|
|
||||||
"typescript": "^3.7.4",
|
"typescript": "^3.7.4",
|
||||||
"vue-template-compiler": "^2.6.11"
|
"vue-template-compiler": "^2.6.11",
|
||||||
|
"yaml-lint": "^1.2.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user