Add workflow that publishes docs/wiki to the Gitea wiki #2
@@ -0,0 +1,38 @@
|
|||||||
|
# Publish the project's wiki pages to the git host's wiki.
|
||||||
|
#
|
||||||
|
# On a push to main that changes docs/wiki/, this workflow calls the reusable
|
||||||
|
# workflow of TirSystem/github-action, which copies the Markdown pages of
|
||||||
|
# docs/wiki/ to the wiki of this repository (framework/process/wiki.md says
|
||||||
|
# what the folder holds: English and the PO language as a minimum).
|
||||||
|
#
|
||||||
|
# INSTALLING THIS FILE IS THE OPT-IN. There is no marker file. A project that
|
||||||
|
# does not copy it publishes nothing.
|
||||||
|
#
|
||||||
|
# Copy it to .gitea/workflows/publish-wiki.yml. Then:
|
||||||
|
# 1. Create the secret TOKEN_FOR_GITEA_WIKI in the organization of the
|
||||||
|
# repository: a Gitea token with scope write:repository for a user that
|
||||||
|
# can write this repository (see guides/credentials.md of github-action).
|
||||||
|
# 2. Enable the wiki in the repository settings.
|
||||||
|
# 3. Keep @v2, or pin the exact release tag together with tools-ref.
|
||||||
|
# A runner must be registered for the repository (or its organization).
|
||||||
|
#
|
||||||
|
# prune: "true" deletes wiki pages that are not in docs/wiki/, so the wiki
|
||||||
|
# always equals the folder. Leave it "false" to keep hand-written pages.
|
||||||
|
|
||||||
|
name: Publish wiki
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
paths:
|
||||||
|
- "docs/wiki/**"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
wiki:
|
||||||
|
uses: TirSystem/github-action/.gitea/workflows/publish-wiki-pages.yml@v2
|
||||||
|
with:
|
||||||
|
wiki_dir: docs/wiki
|
||||||
|
prune: "true"
|
||||||
|
secrets:
|
||||||
|
TOKEN_FOR_GITEA_WIKI: ${{ secrets.TOKEN_FOR_GITEA_WIKI }}
|
||||||
@@ -1,2 +1,50 @@
|
|||||||
# prime-numbers-c
|
# prime-numbers-c
|
||||||
|
|
||||||
|
Lists every prime number from 0 to 1,000,000 and reports how long the search
|
||||||
|
took. It shows how fast a CPU is, but the result depends on how the program is
|
||||||
|
written: algorithm, instruction set (here AVX2), compiler and flags.
|
||||||
|
|
||||||
|
Example result on a 13th Gen Intel(R) Core(TM) i5-13600K:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Found 78498 primes from 0 to 1000000 in 20.977 ms
|
||||||
|
```
|
||||||
|
|
||||||
|
## Build and run
|
||||||
|
|
||||||
|
Needs `gcc` (Linux, or MinGW-w64 / MSYS2 on Windows), `make` and a CPU with AVX2.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make run
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make clean
|
||||||
|
```
|
||||||
|
|
||||||
|
The executable is built into `dist/`. The primes go to standard output and the
|
||||||
|
timing line to standard error, so this saves the list and still shows the time:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./dist/prime_avx2 > primes.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Layout
|
||||||
|
|
||||||
|
| Path | Content |
|
||||||
|
| --- | --- |
|
||||||
|
| `src/prime_avx2.c` | the program |
|
||||||
|
| `Makefile` | build rules |
|
||||||
|
| `docs/wiki/` | wiki pages, published to the Gitea wiki by `.gitea/workflows/publish-wiki.yml` |
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
See the wiki: Description, Results and Build and run.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
See [LICENSE](LICENSE).
|
||||||
|
|||||||
Reference in New Issue
Block a user