Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
echo "Manifest version: $MANIFEST_VERSION"

# check for beta versions first
if [[ "$MANIFEST_VERSION" == *-beta* ]]; then
if [[ "$MANIFEST_VERSION" == ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "❌ Release workflow is not supported for beta versions. Manifest version ($MANIFEST_VERSION) is not ready for publishing."
exit 1
fi
Expand Down Expand Up @@ -106,6 +106,7 @@ jobs:
--api-key="$AMO_JWT_ISSUER" \
--api-secret="$AMO_JWT_SECRET" \
--channel=listed \
--approval-timeout=0 \
--source-dir="./${{ matrix.browser }}-extension"
- name: Zip Chrome extension
if: ${{ matrix.browser == 'chrome' }}
Expand Down
87 changes: 63 additions & 24 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@
- [Prettier](#prettier)
- [Linting](#linting)
- [Testing](#testing)
- [CI Integration](#ci-integration)
- [Continuous Integration and Deployment](#continuous-integration-and-deployment)
- [Build](#build)
- [Deployment](#deployment)
- [Open-Source Software compliance](#open-source-software-compliance)
- [reuse](#reuse)
- [Licensing](#licensing)
Expand Down Expand Up @@ -124,9 +126,9 @@ The command runs all tests defined in the root 'test' folder and generates a cov
npm run test
```

## CI Integration
## Continuous Integration and Deployment

All CI workflows are located in `.github/workflows`
All CI/CD workflows are located in `.github/workflows`

| name | on | output | artifacts |
| :---------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | :---------- | :----------------------- |
Expand All @@ -137,27 +139,64 @@ All CI workflows are located in `.github/workflows`

Those workflows are running automatically after having some changes to the remote repository.

- `build`
- provides its artifacts additionally after each execution
- firefox
- chrome
- `deploy`
- Chrome
- a Google Chrome developer account is required
- any secrets that are necessary for the publication process are set as `Actions secret`
- any additional information, see [Publish in the Chrome Web Store](https://developer.chrome.com/docs/webstore/publish)
- after publishing the application, a review is mostly outstanding and has to be published
manually afterward
- to automatically publish an application after the review, check "Publish '<application name>'
automatically after it has passed review" when submitting to review
- Firefox
- a mozilla developer account is required
- any secrets that are necessary for the publication process are set as `Actions secret`
- any additional information, see [Submitting an add-on](https://extensionworkshop.com/documentation/publish/submitting-an-add-on/)
- after publishing the application, a review is usually pending and will be published afterward
- _Note_:
- the add-on may be subject to additional review.
- you will receive a notification about the outcome of the review at a later time.
### Build

The project can be built using the [CI](../.github/workflows/build.yml) or locally running the
corresponding `npm` command

```powershell
# chrome
npm run build:chrome

# firefox
npm run build:firefox
```

Running the build process via [GitHub
action](https://github.com/tracetronic/ecu.test-diff/actions/workflows/build.yml), it provide a
build artifact for each browser (firefox/chrome).

### Deployment

To publish a new release see the following workflow. All changes will be done on `main` branch:

- increase the extension version tag within the [manifest file](../static/manifest.json)
- version schema -> `<major>.<minor>.<patch>.<beta>`
- for more information about beta versioning see [version format](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/version#version_format)
- upgrade the version tag for a release by deleting the `beta version` flag to <major>.<minor>.<patch>
- increase the specific version
| old | new |
| :------------------------ | :-------------------------- |
| `<major>.<minor>.<patch>` | `<major>.<minor>.<patch+1>` |
| `<major>.<minor>.<patch>` | `<major>.<minor+1>.0` |
| `<major>.<minor>.<patch>` | `<major+1>.0.0` |
- create next tag for latest commit -> `ecu-test-diff-[0-9]+.[0-9]+.[0-9]+`
- commit with `Prepare release version <release.version>`
- push changes and tag
- create new [release](https://github.com/tracetronic/ecu.test-diff/releases) from existing tag after all checks are successful
- increase the extension version tag within the [manifest file](../static/manifest.json) for next beta version
- `<released.version>` -> `<released.version>.0`
- commit with `Prepare for next development cycle`

See the following specific extension store information, to handle release specification individually (if needed)

**Chrome Web Store**

- a Google Chrome developer account is required
- any secrets that are necessary for the publication process are set as `Actions secret`
- any additional information, see [Publish in the Chrome Web Store](https://developer.chrome.com/docs/webstore/publish)
- after publishing the application, a review is mostly outstanding and will be published
automatically afterward

**Firefox Add-ons**

- a mozilla developer account is required
- any secrets that are necessary for the publication process are set as `Actions secret`
- any additional information, see [Submitting an add-on](https://extensionworkshop.com/documentation/publish/submitting-an-add-on/)
- after publishing the application, a review is usually pending and will be published afterward
- _Note_:
- the add-on may be subject to additional review.
- you will receive a notification about the outcome of the review at a later time.

## Open-Source Software compliance

Expand Down
Binary file modified docs/images/chrome/configuration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/chrome/dialog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/chrome/dialog_download.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/chrome/diff_viewer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"name": "ecu.test_diff-extension",
"version": "1.0.0",
"description": "Browser extension to open the diff viewer of tracetronic products ecu.test and trace.check from browser",
"scripts": {
"start:chrome": "webpack --env TARGET=chrome --watch --config webpack.dev.cjs",
"start:firefox": "webpack --env TARGET=firefox --watch --config webpack.dev.cjs",
"build:chrome": "webpack --env TARGET=chrome --config webpack.prod.cjs",
"build:firefox": "webpack --env TARGET=firefox --config webpack.prod.cjs",
"validate:firefox": "web-ext lint --source-dir=./dist --output=json --pretty --warnings-as-errors",
"lint": "eslint --ext .ts,.js --max-warnings=0 .",
"prettier:write": "prettier --write",
"prettier:check": "prettier --check .",
Expand Down
2 changes: 1 addition & 1 deletion static/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"manifest_version": 3,
"name": "Open with ecu.test diff",
"description": "Extension to open the ecu.test/trace.check diff viewer on GitHub/GitLab.",
"version": "1.1.0-beta",
"version": "1.1.0.0",
"background": {},
"browser_specific_settings": {
"gecko": {
Expand Down