Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
5 changes: 3 additions & 2 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ jobs:
echo "Manifest version: $MANIFEST_VERSION"

# check for beta versions first
if [[ "$MANIFEST_VERSION" == *-beta* ]]; then
echo "❌ Release workflow is not supported for beta versions. Manifest version ($MANIFEST_VERSION) is not ready for publishing."
if [[ "$MANIFEST_VERSION" != ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "❌ Manifest version ($MANIFEST_VERSION) is not a valid semantic version. Expected format: x.y.z"
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
86 changes: 62 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,63 @@ 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
```

When running the build process via [GitHub action](https://github.com/tracetronic/ecu.test-diff/actions/workflows/build.yml), it will 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` |
- commit with `Prepare release version <release.version>`
- create next tag for latest commit -> `ecu-test-diff-[0-9]+.[0-9]+.[0-9]+`
- push changes & the created 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` and push

See the following store-specific 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