diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..e239d4535e --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,16 @@ +name: awesome-selfhosted CI + +on: + push: + pull_request: + branches: [ master ] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v3 + - name: build + run: make build diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..f2df0872e1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +awesome-selfhosted/ +.venv/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000..2c8e4ea7c1 --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +SHELL := /bin/bash + +.PHONY: install # install in a virtualenv +install: + python3 -m venv .venv + source .venv/bin/activate && \ + pip3 install git+https://github.com/nodiscc/hecat.git@master + +.PHONY: import # import data from original list at https://github.com/awesome-selfhosted/awesome-selfhosted +import: install + rm -rf awesome-selfhosted && git clone --depth=1 https://github.com/awesome-selfhosted/awesome-selfhosted + cp awesome-selfhosted/.github/.mailmap .mailmap + cp awesome-selfhosted/AUTHORS.md AUTHORS.md + mkdir -p {tags,software,platforms} + source .venv/bin/activate && \ + hecat import --source-file awesome-selfhosted/README.md --output-directory ./ + +.PHONY: build # build markdown singlepage document from yaml data +build: install + rm -rf awesome-selfhosted && git clone https://github.com/awesome-selfhosted/awesome-selfhosted + source .venv/bin/activate && \ + hecat build --source-directory ./ --output-directory awesome-selfhosted --output-file README.md + cd awesome-selfhosted && git diff --color=always diff --git a/README.md b/README.md index b1f82790bf..845fc69abf 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ In [single page mode](https://github.com/awesome-selfhosted/awesome-selfhosted) ## Build the markdown list ```bash -make run +make build ``` ## Maintenance tasks