All Projects → kewisch → action-web-ext

kewisch / action-web-ext

Licence: other
A GitHub Action to run web-ext commands

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to action-web-ext

Lightbeam We
Web Extension version of the Firefox Lightbeam add-on
Stars: ✭ 129 (+290.91%)
Mutual labels:  mozilla
Autopush
Python Web Push Server used by Mozilla
Stars: ✭ 189 (+472.73%)
Mutual labels:  mozilla
removedupes
Remove Duplicate Messages
Stars: ✭ 52 (+57.58%)
Mutual labels:  mozilla
Tenfourfox
Mozilla for Power Macintosh.
Stars: ✭ 134 (+306.06%)
Mutual labels:  mozilla
Ca Bundle
The Mozilla CA bundle extracted and converted to PEM. This repository functions as a backup to the automated service on the curl web site.
Stars: ✭ 177 (+436.36%)
Mutual labels:  mozilla
Treeherder
A system for managing CI data for Mozilla projects
Stars: ✭ 212 (+542.42%)
Mutual labels:  mozilla
Span Tree
🌳 Tree for GitLab
Stars: ✭ 123 (+272.73%)
Mutual labels:  mozilla
release-notes
Release notes and system requirements for our various Firefoxen
Stars: ✭ 15 (-54.55%)
Mutual labels:  mozilla
Min Vid
Popout video player in Firefox
Stars: ✭ 180 (+445.45%)
Mutual labels:  mozilla
Seasponge
🍍 SeaSponge is an accessible threat modelling tool from Mozilla
Stars: ✭ 241 (+630.3%)
Mutual labels:  mozilla
Android Components
A collection of Android libraries to build browsers or browser-like applications.
Stars: ✭ 1,849 (+5503.03%)
Mutual labels:  mozilla
Komodoedit
Komodo Edit is a fast and free multi-language code editor. Written in JS, Python, C++ and based on the Mozilla platform.
Stars: ✭ 1,972 (+5875.76%)
Mutual labels:  mozilla
Firefox Tv
Firefox for Amazon's Fire TV
Stars: ✭ 216 (+554.55%)
Mutual labels:  mozilla
Lockbox Extension
Experimental Firefox extension for login management experiences, not being actively developed
Stars: ✭ 130 (+293.94%)
Mutual labels:  mozilla
Avatar-Customizer
qt-mkr.com
Stars: ✭ 27 (-18.18%)
Mutual labels:  mozilla
Firefox Ios
Firefox for iOS
Stars: ✭ 10,638 (+32136.36%)
Mutual labels:  mozilla
User.js
user.js -- Firefox configuration hardening
Stars: ✭ 2,354 (+7033.33%)
Mutual labels:  mozilla
MeetNinja-Google-Meet-Bot
A super dope tool that attends your Google Meet(s) for you. Flawlessly handles scheduled multiple (subsequent) Meet sessions. Also disables the camera & microphone, and shows timestamps of joining & ending times for each Meet. Supported: Google Chrome / Mozilla Firefox running on Linux / Mac / Windows
Stars: ✭ 56 (+69.7%)
Mutual labels:  mozilla
code-review
Automated static analysis & linting bot for Mozilla repositories
Stars: ✭ 51 (+54.55%)
Mutual labels:  mozilla
Lockwise Ios
Firefox's Lockwise app for iOS
Stars: ✭ 224 (+578.79%)
Mutual labels:  mozilla

web-ext GitHub Action

Build Status

This action allows you to run a few mozilla/web-ext commands useful during add-on development. It supports lint, build and sign.

Generally you can use these inputs:

  • cmd: The command to run (lint, build, sign)
  • source: The directory the add-on is in. For sign, this should be the xpi file instead
  • artifacts: The output directory, defaults to web-ext-artifacts
  • verbose: Output more debugging if set to true
  • progressBar: Enable the console progress bar
  • channel: The channel to use, listed or unlisted
  • ignoreFiles: A json string containing an array of files to be ignored. Web-ext by default already ignores the most frequently ignored files.

There are a few more specific to each command.

lint

Linting supports annotations, this is great for pull requests. A token is not required for this action, though if GITHUB_TOKEN is in the environment, it will be used to create a check run.

name: "Lint"
on:
  push:
    branches:
      - main
  pull_request:

jobs:
  lint:
    name: "Lint"
    runs-on: ubuntu-latest
    steps:
      - name: "Checkout"
        uses: actions/checkout@v1

      - name: "web-ext lint"
        uses: kewisch/action-web-ext@v1
        with:
          cmd: lint
          source: src
          channel: listed

build

A simple web-ext build. You can use the target output for subsequent steps.

You can use the following extra options:

  • filename: Template string for the packed extension's filename, available for download through the job's artifacts. The placeholders in braces ({...}) are replaced by the corresponding entries in the extension's manifest.json. E.g. "{name}-{version}.xpi".
name: "Build"
on:
  push:
    branches:
      - main
  pull_request:

jobs:
  build:
    name: "Build"
    runs-on: ubuntu-latest
    steps:
      - name: "Checkout"
        uses: actions/checkout@v1

      - name: "web-ext build"
        id: web-ext-build
        uses: kewisch/action-web-ext@v1
        with:
          cmd: build
          source: src
          filename: "{name}-{version}.xpi"
          ignoreFiles: '[ "package.json","package-lock.json","yarn.lock" ]'

      - name: "Upload Artifact"
        uses: actions/upload-artifact@v3
        with:
          name: target.xpi
          path: ${{ steps.web-ext-build.outputs.target }}

sign

Send the add-on for signature to AMO. To reduce the load on AMO servers, please don't use this for on-commit or nightly builds. If you want to test your add-on you can do so in about:debugging. Using this for betas or releases is great though, especially in combination with softprops/action-gh-release. Under the hood, the action uses mozilla/sign-addon. Please note that listed add-ons will not be signed immediately, this is indicated during the build process but is not counted as a failure.

You can use the following extra options:

  • apiKey: The API key used for signing
  • apiSecret: The API secret used for signing
  • apiUrlPrefix: The URL of the signing API, defaults to AMO production
  • timeout: The number of milliseconds to wait before giving up on a response from Mozilla's web service. Defaults to 900000 ms (15 minutes).

Changing apiUrlPrefix will allow you to submit to addons.thunderbird.net or using the staging/dev instance.

name: "Release"
on:
  push:
    tags:
      - 'v*.*.*'

jobs:
  sign:
    name: "Release"
    runs-on: ubuntu-latest
    steps:
      - name: "Checkout"
        uses: actions/checkout@v1

      - name: "web-ext build"
        id: web-ext-build
        uses: kewisch/action-web-ext@v1
        with:
          cmd: build
          source: src

      - name: "web-ext sign"
        id: web-ext-sign
        uses: kewisch/action-web-ext@v1
        with:
          cmd: sign
          source: ${{ steps.web-ext-build.outputs.target }}
          channel: unlisted
          apiKey: ${{ secrets.AMO_SIGN_KEY }}
          apiSecret: ${{ secrets.AMO_SIGN_SECRET }}
          timeout: 900000

      - name: "Create Release"
        uses: softprops/action-gh-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          files: ${{ steps.web-ext-sign.outputs.target }}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].