mirror of
https://github.com/bitwarden/browser.git
synced 2025-03-01 03:31:15 +01:00
* feat: create copy of desktop build for PR target * chore: add temporary file to trigger ci * fix: remove check-run from regular desktop build * feat: change browser build to not use pr target * fix: skip build-safari if secret is not available * feat: skip safari build if secrets are not available * feat: let windows desktop build without secrets * fix: has_secrets not being output correctly * feat: let macos desktop build without secrets * feat: don't build browser as part of desktop * feat: change CLI to pull_request * feat: let web build without secrets * feat: tweak lint to run on PR and not just push * feat: add PR target workflows * fix: remove wip files * fix: lint on hotfix-rc branches * feat: add new workflows to CODEOWNERS * fix: remove workflow_dispatch pull_request_target are only intended to be used with contributor PRs and we cannot dispatch builds for these branches so there was no point having that option.
102 lines
2.6 KiB
YAML
102 lines
2.6 KiB
YAML
name: Lint
|
|
|
|
on:
|
|
pull_request:
|
|
types: [opened, synchronize]
|
|
branches-ignore:
|
|
- 'l10n_master'
|
|
- 'cf-pages'
|
|
paths-ignore:
|
|
- '.github/workflows/**'
|
|
push:
|
|
branches:
|
|
- 'main'
|
|
- 'rc'
|
|
- 'hotfix-rc-*'
|
|
paths-ignore:
|
|
- '.github/workflows/**'
|
|
workflow_dispatch:
|
|
inputs: {}
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
lint:
|
|
name: Lint
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- name: Lint filenames (no capital characters)
|
|
run: |
|
|
find . -type f,d -name "*[[:upper:]]*" \
|
|
! -path "./node_modules/*" \
|
|
! -path "./coverage/*" \
|
|
! -path "*/dist/*" \
|
|
! -path "*/build/*" \
|
|
! -path "*/target/*" \
|
|
! -path "./.git/*" \
|
|
! -path "*/.DS_Store" \
|
|
! -path "*/*locales/*" \
|
|
! -path "./.github/*" \
|
|
! -path "*/README.md" \
|
|
! -path "*/Cargo.toml" \
|
|
! -path "*/Cargo.lock" \
|
|
! -path "./apps/desktop/macos/*" \
|
|
> tmp.txt
|
|
diff <(sort .github/whitelist-capital-letters.txt) <(sort tmp.txt)
|
|
|
|
- name: Get Node Version
|
|
id: retrieve-node-version
|
|
run: |
|
|
NODE_NVMRC=$(cat .nvmrc)
|
|
NODE_VERSION=${NODE_NVMRC/v/''}
|
|
echo "node_version=$NODE_VERSION" >> $GITHUB_OUTPUT
|
|
|
|
- name: Set up Node
|
|
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
|
with:
|
|
cache: 'npm'
|
|
cache-dependency-path: '**/package-lock.json'
|
|
node-version: ${{ steps.retrieve-node-version.outputs.node_version }}
|
|
|
|
- name: Install Node dependencies
|
|
run: npm ci
|
|
|
|
- name: Lint unowned dependencies
|
|
run: npm run lint:dep-ownership
|
|
|
|
- name: Run linter
|
|
run: npm run lint
|
|
|
|
rust:
|
|
name: Run Rust lint on ${{ matrix.os }}
|
|
runs-on: ${{ matrix.os || 'ubuntu-24.04' }}
|
|
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-24.04
|
|
- macos-14
|
|
- windows-2022
|
|
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- name: Check Rust version
|
|
run: rustup --version
|
|
|
|
- name: Run cargo fmt
|
|
working-directory: ./apps/desktop/desktop_native
|
|
run: cargo fmt --check
|
|
|
|
- name: Run Clippy
|
|
working-directory: ./apps/desktop/desktop_native
|
|
run: cargo clippy --all-features --tests
|
|
env:
|
|
RUSTFLAGS: "-D warnings"
|