Skip to content

refactor(client): reduce config library surface #3936

refactor(client): reduce config library surface

refactor(client): reduce config library surface #3936

# Copyright 2024 The Outline Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Pull Request Checks
on:
pull_request:
types:
- opened
# This `edited` flag is why we need a separate workflow -
# specifying edited here causes this job to be re-run whenever someone edits the PR title/description.
# If we had the debug builds in this file, they would run unnecessarily, costing resources.
- edited
- synchronize
jobs:
name_check:
name: Pull Request Name Check
runs-on: ubuntu-latest
permissions:
pull-requests: read
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Clone Repository
uses: actions/checkout@v3
- name: Install Node
uses: actions/setup-node@v2.2.0
with:
node-version: 18
cache: npm
- name: Install NPM Dependencies
run: npm ci
- name: Ensure Commitizen Format
uses: JulienKode/pull-request-name-linter-action@98794a8b815ec05560813c42e55fd8d32d3fd248
size_label:
name: Change Size Label
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
# size-label-action fails to work when coming from a fork:
# https://github.com/pascalgn/size-label-action/issues/10
- if: ${{ !github.event.pull_request.head.repo.fork }}
name: Apply Size Label
uses: pascalgn/size-label-action@a4655c448bb838e8d73b81e97fd0831bb4cbda1e
env:
IGNORED: |
LICENSE
package-lock.json
resources
src/www/assets/**
src/www/messages/**
third_party/**
with:
sizes: >
{
"0": "XS",
"64": "S",
"128": "M",
"256": "L",
"512": "XL",
"1024": "XXL"
}
needs_test:
name: 'Fail if Needs Test Label'
runs-on: ubuntu-latest
permissions:
contents: read
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Fail if Needs Test Label
if: contains(github.event.pull_request.labels.*.name, 'need test')
run: |
echo "This PR has the 'need test' label. Please remove it before merging."
exit 1