Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • ffbs/ffbs-gluon
  • parabol1337/ffbs-gluon
  • darkbit/ffbs-gluon
3 results
Show changes
Commits on Source (1651)
Showing
with 766 additions and 503 deletions
{
"Exclude": ["docs/_build"]
}
...@@ -7,6 +7,61 @@ insert_final_newline = true ...@@ -7,6 +7,61 @@ insert_final_newline = true
indent_style = tab indent_style = tab
charset = utf-8 charset = utf-8
[Dockerfile]
indent_style = space
indent_size = 4
[/patches/**]
indent_style = unset
indent_size = unset
[*.c]
[*.css]
[*.dia]
indent_style = space
indent_size = 2
[*.h]
[*.html]
[*.js]
[*{.json,.ecrc}]
indent_style = space
indent_size = 2
[*.lua]
[{Makefile,*.mk}]
indent_style = unset
[*.md]
indent_style = space
indent_size = 4
[*.pl]
[*.py] [*.py]
indent_style = space indent_style = space
indent_size = 4 indent_size = 4
[*.rst]
indent_style = space
indent_size = 2
[*.sh]
[*.yml]
indent_style = space
indent_size = 2
[CMakeLists.txt]
indent_style = space
indent_size = 2
[{docs,contrib/ci}/*site*/**/*.conf]
indent_style = space
indent_size = 2
...@@ -6,7 +6,7 @@ label: bug ...@@ -6,7 +6,7 @@ label: bug
<!-- <!--
Please carefully fill out the questionaire below to help improve the Please carefully fill out the questionnaire below to help improve the
timely triaging of issues. Walk through the questions below and use timely triaging of issues. Walk through the questions below and use
them as an inspiration for what information you can provide. them as an inspiration for what information you can provide.
...@@ -27,7 +27,7 @@ Thank you for taking the time to report a bug with the Gluon project. ...@@ -27,7 +27,7 @@ Thank you for taking the time to report a bug with the Gluon project.
### Bug report ### Bug report
**What is the problem?** **What is the problem?**
<!-- <!--
- What is not working as expected? - What is not working as expected?
- How is it misbehaving? - How is it misbehaving?
- When did the problem first start showing up? - When did the problem first start showing up?
...@@ -43,7 +43,7 @@ Thank you for taking the time to report a bug with the Gluon project. ...@@ -43,7 +43,7 @@ Thank you for taking the time to report a bug with the Gluon project.
--> -->
**Gluon Version:** **Gluon Version:**
<!-- <!--
Please provide a usable Git reference before applying custom patches: Please provide a usable Git reference before applying custom patches:
By using a Git reference: By using a Git reference:
...@@ -58,9 +58,9 @@ Or the URL to the relevant Gluon commit ...@@ -58,9 +58,9 @@ Or the URL to the relevant Gluon commit
<!-- <!--
Please provide the URL to your site configuration repository and the Please provide the URL to your site configuration repository and the
explicit commit used to build the firmware experiencing the problem. explicit commit used to build the firmware experiencing the problem.
Additionally excerpts of problem-related configuration parts are Additionally excerpts of problem-related configuration parts are
often helpful. often helpful.
--> -->
**Custom patches:** **Custom patches:**
......
# Docs: <https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/customizing-dependency-updates>
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule: {interval: monthly}
- package-ecosystem: pip
directory: /docs/
schedule: {interval: monthly}
{
"armsr-armv7": [
"targets/armsr-armv7",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/armsr.inc"
],
"armsr-armv8": [
"targets/armsr-armv8",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/armsr.inc"
],
"ath79-generic": [
"targets/ath79-generic",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"ath79-nand": [
"targets/ath79-nand",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"ath79-mikrotik": [
"targets/ath79-mikrotik",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/mikrotik.inc"
],
"bcm27xx-bcm2708": [
"targets/bcm27xx-bcm2708",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/bcm27xx.inc"
],
"bcm27xx-bcm2709": [
"targets/bcm27xx-bcm2709",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/bcm27xx.inc"
],
"ipq40xx-generic": [
"targets/ipq40xx-generic",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"ipq40xx-mikrotik": [
"targets/ipq40xx-mikrotik",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/mikrotik.inc"
],
"ipq806x-generic": [
"targets/ipq806x-generic",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"lantiq-xrx200": [
"targets/lantiq-xrx200",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"lantiq-xway": [
"targets/lantiq-xway",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"mediatek-filogic": [
"targets/mediatek-filogic",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"mediatek-mt7622": [
"targets/mediatek-mt7622",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"mpc85xx-p1010": [
"targets/mpc85xx-p1010",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"mpc85xx-p1020": [
"targets/mpc85xx-p1020",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"ramips-mt7620": [
"targets/ramips-mt7620",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"ramips-mt7621": [
"targets/ramips-mt7621",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"ramips-mt76x8": [
"targets/ramips-mt76x8",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"realtek-rtl838x": [
"targets/realtek-rtl838x",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"rockchip-armv8": [
"targets/rockchip-armv8",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"sunxi-cortexa7": [
"targets/sunxi-cortexa7",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"x86-generic": [
"targets/x86-generic",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/x86.inc"
],
"x86-geode": [
"targets/x86-geode",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
],
"x86-legacy": [
"targets/x86-legacy",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/x86.inc"
],
"x86-64": [
"targets/x86-64",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/x86.inc",
"contrib/ci/minimal-site/**",
"package/**"
],
"bcm27xx-bcm2710": [
"targets/bcm27xx-bcm2710",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/bcm27xx.inc"
],
"bcm27xx-bcm2711": [
"targets/bcm27xx-bcm2711",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk",
"targets/bcm27xx.inc"
],
"mvebu-cortexa9": [
"targets/mvebu-cortexa9",
".github/workflows/build-gluon.yml",
"modules",
"Makefile",
"patches/**",
"scripts/**",
"targets/generic",
"targets/targets.mk"
]
}
---
"3. topic: babel":
- changed-files:
- any-glob-to-any-file:
- package/gluon-l3roamd/**
- package/gluon-mesh-babel/**
- package/gluon-mmfd/**
"3. topic: batman-adv":
- changed-files:
- any-glob-to-any-file:
- docs/package/gluon-mesh-batman-adv*
- package/gluon-alfred/**
- package/gluon-client-bridge/**
- package/gluon-mesh-batman-adv/**
- package/libbatadv/**
"3. topic: build":
- changed-files:
- any-glob-to-any-file:
- Makefile
- scripts/**
"3. topic: config-mode":
- changed-files:
- any-glob-to-any-file:
- docs/dev/web/config-mode.rst
- docs/package/gluon-config-mode-*
- package/gluon-config-mode-*/**
- package/gluon-web*/**
"3. topic: continous integration":
- changed-files:
- any-glob-to-any-file:
- .github/workflows/*
- contrib/actions/**
- contrib/ci/**
"3. topic: docs":
- changed-files:
- any-glob-to-any-file:
- docs/**
"3. topic: fastd":
- changed-files:
- any-glob-to-any-file:
- docs/features/fastd*
- package/gluon-mesh-vpn-fastd/**
"3. topic: firewall":
- changed-files:
- any-glob-to-any-file:
- package/**/*-firewall
- package/gluon-ebtables-*/**
"3. topic: hardware":
- changed-files:
- any-glob-to-any-file:
- package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
- package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
- targets/*
"3. topic: multidomain":
- changed-files:
- any-glob-to-any-file:
- docs/features/multidomain*
- docs/multidomain-site-example/**
- package/gluon-config-mode-domain-select/**
- package/gluon-scheduled-domain-switch/**
"3. topic: package":
- changed-files:
- any-glob-to-any-file:
- package/**
"3. topic: respondd":
- changed-files:
- any-glob-to-any-file:
- package/**/*respondd*
- package/gluon-respondd/**
"3. topic: status-page":
- changed-files:
- any-glob-to-any-file:
- package/gluon-status-page/**
"3. topic: tests":
- changed-files:
- any-glob-to-any-file:
- tests/**
"3. topic: tunneldigger":
- changed-files:
- any-glob-to-any-file:
- package/gluon-mesh-vpn-tunneldigger/**
"3. topic: wireguard":
- changed-files:
- any-glob-to-any-file:
- package/gluon-mesh-vpn-wireguard/**
"3. topic: wireless":
- changed-files:
- any-glob-to-any-file:
- package/gluon-mesh-wireless-sae/**
- package/gluon-private-wifi/**
- package/gluon-web-private-wifi/**
- package/gluon-web-wifi-config/**
- package/gluon-wireless-encryption-wpa3/**
name: Backport
on:
pull_request_target:
types: [closed, labeled]
permissions:
contents: write # so it can comment
pull-requests: write # so it can create pull requests
jobs:
backport:
name: Backport Pull Request
if: github.repository_owner == 'freifunk-gluon' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Create backport PRs
uses: korthout/backport-action@v2.1.1
with:
# Config README: https://github.com/korthout/backport-action#backport-action
pull_description: |-
Automatic backport to `${target_branch}`, triggered by a label in #${pull_number}.
# Based on the example from https://docs.github.com/en/actions/publishing-packages/publishing-docker-images
name: Create and publish a Docker image
on:
push:
branches:
- 'master'
- 'next'
- 'v202[0-9].[0-9].x'
tags:
- 'v*'
pull_request:
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}-build
jobs:
build-and-push-image:
runs-on: ubuntu-22.04
permissions: write-all
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to the Container registry
uses: docker/login-action@3d58c274f17dffee475a5520cbe67f0a882c4dbb
if: ${{ github.repository_owner == 'freifunk-gluon' && github.event_name == 'push' }}
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@e6428a5c4e294a61438ed7f43155db912025b6b3
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build and push Docker image
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56
with:
context: ./contrib/docker
push: ${{ github.repository_owner == 'freifunk-gluon' && github.event_name == 'push' }}
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
name: Build Documentation name: Build Documentation
on: on:
push: push:
paths:
- 'docs/**'
- '.github/workflows/build-docs.yml'
pull_request: pull_request:
types: [opened, synchronize, reopened] types: [opened, synchronize, reopened]
paths:
- 'docs**/'
- '.github/workflows/build-docs.yml'
permissions:
contents: read
jobs: jobs:
build-documentation: build-documentation:
name: docs name: docs
runs-on: ubuntu-latest runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v4
- name: Install Dependencies - name: Install Dependencies
run: sudo pip3 install sphinx-rtd-theme run: sudo pip3 install -r docs/requirements.txt
- name: Build documentation - name: Build documentation
run: make -C docs html run: make -C docs html
- name: Archive build output - name: Archive build output
uses: actions/upload-artifact@v1 uses: actions/upload-artifact@v4
with: with:
name: docs_output name: docs_output
path: docs/_build/html path: docs/_build/html
# Update this file after adding/removing/renaming a target by running
# `make list-targets BROKEN=1 | ./contrib/actions/generate-actions.py > ./.github/workflows/build-gluon.yml`
name: Build Gluon name: Build Gluon
on: on:
push: push:
branches: branches:
- master - master
- next - next
- v20* - 'v20[2-9][0-9].[0-9].x'
pull_request: pull_request:
types: [opened, synchronize, reopened] types: [opened, synchronize, reopened]
jobs: workflow_dispatch:
ar71xx-generic:
name: ar71xx-generic
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh ar71xx-generic
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: ar71xx-generic_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: ar71xx-generic_output
path: output
ar71xx-tiny:
name: ar71xx-tiny
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh ar71xx-tiny
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: ar71xx-tiny_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: ar71xx-tiny_output
path: output
ar71xx-nand:
name: ar71xx-nand
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh ar71xx-nand
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: ar71xx-nand_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: ar71xx-nand_output
path: output
ath79-generic:
name: ath79-generic
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh ath79-generic
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: ath79-generic_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: ath79-generic_output
path: output
brcm2708-bcm2708:
name: brcm2708-bcm2708
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh brcm2708-bcm2708
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: brcm2708-bcm2708_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: brcm2708-bcm2708_output
path: output
brcm2708-bcm2709:
name: brcm2708-bcm2709
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh brcm2708-bcm2709
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: brcm2708-bcm2709_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: brcm2708-bcm2709_output
path: output
ipq40xx-generic:
name: ipq40xx-generic
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh ipq40xx-generic
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: ipq40xx-generic_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: ipq40xx-generic_output
path: output
ipq806x-generic:
name: ipq806x-generic
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh ipq806x-generic
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: ipq806x-generic_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: ipq806x-generic_output
path: output
lantiq-xrx200:
name: lantiq-xrx200
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh lantiq-xrx200
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: lantiq-xrx200_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: lantiq-xrx200_output
path: output
lantiq-xway:
name: lantiq-xway
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh lantiq-xway
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: lantiq-xway_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: lantiq-xway_output
path: output
mpc85xx-generic:
name: mpc85xx-generic
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh mpc85xx-generic
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: mpc85xx-generic_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: mpc85xx-generic_output
path: output
mpc85xx-p1020:
name: mpc85xx-p1020
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh mpc85xx-p1020
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: mpc85xx-p1020_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: mpc85xx-p1020_output
path: output
ramips-mt7620:
name: ramips-mt7620
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh ramips-mt7620
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: ramips-mt7620_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: ramips-mt7620_output
path: output
ramips-mt7621:
name: ramips-mt7621
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh ramips-mt7621
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: ramips-mt7621_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: ramips-mt7621_output
path: output
ramips-mt76x8: permissions:
name: ramips-mt76x8 contents: read
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh ramips-mt76x8
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: ramips-mt76x8_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: ramips-mt76x8_output
path: output
ramips-rt305x: concurrency:
name: ramips-rt305x group: ${{ github.workflow }}-${{ github.ref || github.run_id }}-${{ github.event.pull_request.number || github.run_id }}
runs-on: ubuntu-latest cancel-in-progress: true
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh ramips-rt305x
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: ramips-rt305x_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: ramips-rt305x_output
path: output
sunxi-cortexa7: jobs:
name: sunxi-cortexa7 changed:
runs-on: ubuntu-latest permissions:
contents: read # for dorny/paths-filter to fetch a list of changed files
pull-requests: read # for dorny/paths-filter to read pull requests
runs-on: ubuntu-22.04
outputs:
targets: ${{ steps.filter.outputs.changes }}
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v4
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh sunxi-cortexa7
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: sunxi-cortexa7_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: sunxi-cortexa7_output
path: output
x86-generic: # Filter targets based on changed files
name: x86-generic - uses: dorny/paths-filter@v3
runs-on: ubuntu-latest id: filter
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh x86-generic
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with: with:
name: x86-generic_logs filters: .github/filters.yml
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: x86-generic_output
path: output
x86-geode: build_firmware:
name: x86-geode needs: changed
runs-on: ubuntu-latest if: ${{ needs.changed.outputs.targets != '[]' && needs.changed.outputs.targets != '' }}
strategy:
fail-fast: false
matrix:
# Read back changed targets to create build matrix
target: ${{ fromJSON(needs.changed.outputs.targets) }}
runs-on: ubuntu-22.04
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v4
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh x86-geode
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: x86-geode_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: x86-geode_output
path: output
x86-legacy: - name: Show system information
name: x86-legacy run: contrib/actions/show-system-info.sh
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh x86-legacy
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: x86-legacy_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: x86-legacy_output
path: output
x86-64: - name: Build Docker container
name: x86-64 run: docker build -t gluon-ci-container contrib/docker
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh x86-64
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: x86-64_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: x86-64_output
path: output
ar71xx-mikrotik: - name: Build Gluon
name: ar71xx-mikrotik run: docker run --rm -v $PWD:/gluon-ci -w /gluon-ci --user "$(id -u):$(id -g)" gluon-ci-container contrib/actions/run-build.sh ${{ matrix.target }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh ar71xx-mikrotik
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: ar71xx-mikrotik_logs
path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: ar71xx-mikrotik_output
path: output
brcm2708-bcm2710:
name: brcm2708-bcm2710
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh brcm2708-bcm2710
- name: Archive build logs - name: Archive build logs
if: ${{ !cancelled() }} if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1 uses: actions/upload-artifact@v4
with: with:
name: brcm2708-bcm2710_logs name: ${{ matrix.target }}_logs
path: openwrt/logs path: openwrt/logs
- name: Archive build output
uses: actions/upload-artifact@v1
with:
name: brcm2708-bcm2710_output
path: output
mvebu-cortexa9:
name: mvebu-cortexa9
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Dependencies
run: sudo contrib/actions/install-dependencies.sh
- name: Build
run: contrib/actions/run-build.sh mvebu-cortexa9
- name: Archive build logs
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v1
with:
name: mvebu-cortexa9_logs
path: openwrt/logs
- name: Archive build output - name: Archive build output
uses: actions/upload-artifact@v1 uses: actions/upload-artifact@v4
with: with:
name: mvebu-cortexa9_output name: ${{ matrix.target }}_output
path: output path: output
name: Check generated CI
on:
push:
pull_request:
types: [opened, synchronize, reopened]
permissions:
contents: read
jobs:
check-ci:
name: Check generated CI
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install example site
run: ln -s ./docs/site-example ./site
- name: Update CI
run: make update-ci
- name: Show diff
run: git status; git diff
- name: Patch status
run: git diff-files --quiet
---
name: Check patches
on:
push:
paths:
- 'modules'
- 'patches/**'
- '.github/workflows/check-patches.yml'
pull_request:
types: [opened, synchronize, reopened]
paths:
- 'modules'
- 'patches/**'
- '.github/workflows/check-patches.yml'
permissions:
contents: read
jobs:
check-patches:
name: Check patches
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Refresh patches
run: make refresh-patches GLUON_SITEDIR="contrib/ci/minimal-site"
- name: Show diff
run: git status; git diff
- name: Patch status
run: git diff-files --quiet
name: "Label PRs"
on:
# only execute base branch actions
pull_request_target:
permissions:
contents: read
jobs:
labels:
permissions:
contents: read # for actions/labeler to determine modified files
pull-requests: write # for actions/labeler to add labels to PRs
runs-on: ubuntu-22.04
if: github.repository_owner == 'freifunk-gluon'
steps:
- uses: actions/labeler@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
sync-labels: true
name: Lint
on:
push:
pull_request:
types: [opened, synchronize, reopened]
permissions:
contents: read
jobs:
lua:
name: Lua
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: sudo apt-get -y update && sudo apt-get -y install lua-check
- name: Install example site
run: ln -s ./docs/site-example ./site
- name: Lint Lua code
run: make lint-lua
sh:
name: Shell
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: sudo apt-get -y update && sudo apt-get -y install shellcheck
- name: Install example site
run: ln -s ./docs/site-example ./site
- name: Lint shell code
run: make lint-sh
editorconfig:
name: Editorconfig
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: sudo apt install curl tar
- name: Install editorconfig-checker
env:
VERSION: 2.7.0
OS: linux
ARCH: amd64
run: |
curl -O -L -C - https://github.com/editorconfig-checker/editorconfig-checker/releases/download/$VERSION/ec-$OS-$ARCH.tar.gz
tar xzf ec-$OS-$ARCH.tar.gz
sudo mv ./bin/ec-$OS-$ARCH /usr/bin/editorconfig-checker
sudo chmod +x /usr/bin/editorconfig-checker
- name: Install example site
run: ln -s ./docs/site-example ./site
- name: Lint editorconfig
run: make lint-editorconfig
*~ *~
/openwrt /openwrt
/output /output
/site
/tmp /tmp
/packages /packages
.bash_history .bash_history
.subversion .subversion
.wget-hsts .wget-hsts
/.scmversion
[submodule "gluon-builder"]
path = gluon-builder
url = https://gitli.stratum0.org/ffbs/gluon-builder.git
[submodule "site"]
path = site
url = https://gitli.stratum0.org/ffbs/ffbs-site.git
...@@ -12,6 +12,7 @@ include_files = { ...@@ -12,6 +12,7 @@ include_files = {
"**/*.lua", "**/*.lua",
"package/**/luasrc/**/*", "package/**/luasrc/**/*",
"targets/*", "targets/*",
"package/features",
} }
exclude_files = { exclude_files = {
...@@ -24,9 +25,11 @@ files["package/**/check_site.lua"] = { ...@@ -24,9 +25,11 @@ files["package/**/check_site.lua"] = {
"extend", "extend",
"in_domain", "in_domain",
"in_site", "in_site",
"value",
"need", "need",
"need_alphanumeric_key", "need_alphanumeric_key",
"need_array", "need_array",
"need_array_elements_exclusive",
"need_array_of", "need_array_of",
"need_boolean", "need_boolean",
"need_chanlist", "need_chanlist",
...@@ -48,6 +51,7 @@ files["package/**/check_site.lua"] = { ...@@ -48,6 +51,7 @@ files["package/**/check_site.lua"] = {
files["package/**/luasrc/lib/gluon/config-mode/*"] = { files["package/**/luasrc/lib/gluon/config-mode/*"] = {
globals = { globals = {
"MultiListValue",
"DynamicList", "DynamicList",
"Flag", "Flag",
"Form", "Form",
...@@ -61,6 +65,7 @@ files["package/**/luasrc/lib/gluon/config-mode/*"] = { ...@@ -61,6 +65,7 @@ files["package/**/luasrc/lib/gluon/config-mode/*"] = {
"translate", "translate",
"translatef", "translatef",
"Value", "Value",
"Element",
}, },
} }
...@@ -104,3 +109,11 @@ files["targets/*"] = { ...@@ -104,3 +109,11 @@ files["targets/*"] = {
"try_config", "try_config",
}, },
} }
files["package/features"] = {
read_globals = {
"_",
"feature",
"when",
},
}
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
# Optionally set the version of Python and requirements required to build your docs
python:
install:
- requirements: docs/requirements.txt
build:
os: ubuntu-22.04
tools:
python: "3.11"
...@@ -23,8 +23,8 @@ using other parts or why the proposed change breaks other parts of the system. ...@@ -23,8 +23,8 @@ using other parts or why the proposed change breaks other parts of the system.
They might even refuse the idea altogether - after all, they have to sleep well They might even refuse the idea altogether - after all, they have to sleep well
after merging the changes, too. after merging the changes, too.
The preferred way to discuss in the IRC channel ([#gluon] on irc.hackint.org) The preferred way to discuss is in the IRC channel ([#gluon] on irc.hackint.org)
or on the [mailing list], however, you can also open a new issue on Github to or on the [mailing list], however, you can also open a new issue on GitHub to
discuss there. We maintain a [list of rejected features] and we'd like to discuss there. We maintain a [list of rejected features] and we'd like to
kindly ask you to review it first. In general, looking for duplicates may save kindly ask you to review it first. In general, looking for duplicates may save
you some time. you some time.
......
BSD 2-Clause License
The code of Project Gluon may be distributed under the following terms, unless The code of Project Gluon may be distributed under the following terms, unless
noted otherwise in individual files or subtrees. noted otherwise in individual files or subtrees.
Copyright (c) 2013-2018, Project Gluon Copyright (c) Project Gluon
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
......