Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nullvoxpopuli/ember-ci-update
Tool to drastically reduce config and mental burden when managing CI
https://github.com/nullvoxpopuli/ember-ci-update
actions ci ember hacktoberfest
Last synced: 16 days ago
JSON representation
Tool to drastically reduce config and mental burden when managing CI
- Host: GitHub
- URL: https://github.com/nullvoxpopuli/ember-ci-update
- Owner: NullVoxPopuli
- License: mit
- Created: 2022-05-30T15:18:39.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-15T05:40:06.000Z (11 months ago)
- Last Synced: 2024-10-15T06:41:26.302Z (22 days ago)
- Topics: actions, ci, ember, hacktoberfest
- Language: JavaScript
- Homepage:
- Size: 68.4 KB
- Stars: 6
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ember-ci-update
CLI to generate robust CI configs for ember projects
## Setup
- Must have Node 16+
- pnpm only.
yarn and npm are not supported.## Usage
Create an `ci.yml` in the root of your repo.
When it's time to update the config, run `npx ember-ci-update` and commit the changes.
This tool generates real CI configs that can then be edited as you're used to for further customizations.
### Minimal Config
For ember v2 addons using JavaScript only, with no automated release
```yaml
provider: github
template: "v2-addon"# ---------------------
addon: './ember-velcro'
testApp: './test-app'lint:
cmd: 'pnpm lint'build:
run: 'pnpm build'
expect: |
components/velcro/index.js
modifiers/velcro.jssupport:
ember-try: true
```## All config options and their defaults
```yml
# Optional -- default: 'github' (also the only supported CI provider at the moment)
provider: 'github'# Optional -- default: 'main'
defaultBranch: main# Optional -- default: 'pnpm' (also the only supported pcakage manager)
packageManager: pnpm# Optional -- default: 'v2-addon' (also the only supported template at the moment)
template: 'v2-addon'# In the future, depending on the chosen template, the followign options may vary.
# But for now, since the only supported combination is github + v2-addon:# the path to the addon directory
addonPath: './ember-resources'
# the path to the test app
testApp: './testing/ember-app'lint:
commits: true
cmd: pnpm lint
# or optionally specific paths:
eslint:
- "./ember-resources"
- "./testing/ember-app"# v2 addons need to be built. This config tells the CI config what command
# to build your package and will fail if the listed file/folder paths are not present
build:
run: 'pnpm run build:js'
expect: |
core
util
index.js
index.js.map
index.d.ts
index.d.ts.map# All of this is optional, but highly recommended to test against and declare support for
# various typescript and ember-try scenarios
support:
typescript:
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]# optionally use the glint bin instead of tsc
glint: true# reads the config/ember-try.js config file
ember-try: true# Optional, default is to not use semantic-release
release:
semantic: true# Any additional build steps can use the same syntax / notation
# as the actual C.I. provider.
# Note though that the setup and environment are omitted here, because
# ember-ci-update handles the generation of all that.
extra:
- name: Measure Asset Sizes
needs: ['build']
steps:
# ember-ci-update inserts preamble here
- name: 'measure asset sizes'
run: node ./build/estimate-bytes/index.js
- name: comment on PR
uses: marocchino/sticky-pull-request-comment@v2
with:
path: ./build/estimate-bytes/comment.txt
```