0
0
Fork 0
mirror of https://codeberg.org/forgejo/docs.git synced 2024-11-24 18:09:26 -05:00

Create v1.21 documentation

A verbatim copy of the v1.20 documentation to build upon. With just a
replacement of v1.20 with v1.21 where relevant.
This commit is contained in:
Gusted 2023-08-09 21:32:54 +01:00 committed by Caesar Schinas
parent ab0782c39c
commit ace76320ed
No known key found for this signature in database
GPG key ID: AE9108461BEA5ACF
17 changed files with 182 additions and 59 deletions

View file

@ -113,7 +113,7 @@ A special kind of token is needed and can be obtained from the `Create new runne
- in `/user/settings/actions/runners` to gain access to all repositories of the logged in user
- in `/{owner}/{repository}/settings/actions/runners` to gain access to a single repository.
![add a runner](../../../../images/v1.20/user/actions/runners-add.png)
![add a runner](../../../../images/v1.21/user/actions/runners-add.png)
For instance, using a token obtained for a test repository from `next.forgejo.org`:
@ -289,7 +289,7 @@ To verify it is actually available for the targeted repository, go to `/{owner}/
- available to all repositories within an organization or a user
- available to all repositories, with the **Global** type
![list the runners](../../../../images/v1.20/user/actions/list-of-runners.png)
![list the runners](../../../../images/v1.21/user/actions/list-of-runners.png)
Adding the `.forgejo/workflows/demo.yaml` file to the test repository:

View file

@ -305,6 +305,7 @@ The following configuration set `Content-Type: application/vnd.android.package-a
If `PROTOCOL` is `fcgi` or `fcgi+unix`, the default value is `%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/`.
If listen on `0.0.0.0`, the default value is `%(PROTOCOL)s://localhost:%(HTTP_PORT)s/`, Otherwise the default
value is `%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/`.
if `PROTOCOL` is set to `http+unix`.
- `LOCAL_USE_PROXY_PROTOCOL`: **%(USE_PROXY_PROTOCOL)s**: When making local connections pass the PROXY protocol header.
This should be set to false if the local connection will go through the proxy.
- `PER_WRITE_TIMEOUT`: **30s**: Timeout for any write to the connection. (Set to -1 to
@ -476,7 +477,7 @@ Configuration at `[queue]` will set defaults for queues with overrides for indiv
- `CONN_STR`: **redis://127.0.0.1:6379/0**: Connection string for the redis queue type. For `redis-cluster` use `redis+cluster://127.0.0.1:6379/0`. Options can be set using query params. Similarly, LevelDB options can also be set using: **leveldb://relative/path?option=value** or **leveldb:///absolute/path?option=value**, and will override `DATADIR`
- `QUEUE_NAME`: **\_queue**: The suffix for default redis and disk queue name. Individual queues will default to **`name`**`QUEUE_NAME` but can be overridden in the specific `queue.name` section.
- `SET_NAME`: **\_unique**: The suffix that will be added to the default redis and disk queue `set` name for unique queues. Individual queues will default to **`name`**`QUEUE_NAME`_`SET_NAME`_ but can be overridden in the specific `queue.name` section.
- `MAX_WORKERS`: **(dynamic)**: Maximum number of worker go-routines for the queue. Default value is "CpuNum/2" clipped to between 1 and 10.
- `MAX_WORKERS`: **10**: Maximum number of worker go-routines for the queue.
Forgejo creates the following non-unique queues:
@ -800,6 +801,18 @@ Default templates for project boards:
- `ALLOWED_TYPES`: **.csv,.docx,.fodg,.fodp,.fods,.fodt,.gif,.gz,.jpeg,.jpg,.log,.md,.mov,.mp4,.odf,.odg,.odp,.ods,.odt,.patch,.pdf,.png,.pptx,.svg,.tgz,.txt,.webm,.xls,.xlsx,.zip**: Comma-separated list of allowed file extensions (`.zip`), mime types (`text/plain`) or wildcard type (`image/*`, `audio/*`, `video/*`). Empty value or `*/*` allows all types.
- `MAX_SIZE`: **4**: Maximum size (MB).
- `MAX_FILES`: **5**: Maximum number of attachments that can be uploaded at once.
- `STORAGE_TYPE`: **local**: Storage type for attachments, `local` for local disk or `minio` for s3 compatible object storage service, default is `local` or other name defined with `[storage.xxx]`
- `SERVE_DIRECT`: **false**: Allows the storage driver to redirect to authenticated URLs to serve files directly. Currently, only Minio/S3 is supported via signed URLs, local does nothing.
- `PATH`: **data/attachments**: Path to store attachments only available when STORAGE_TYPE is `local`
- `MINIO_ENDPOINT`: **localhost:9000**: Minio endpoint to connect only available when STORAGE_TYPE is `minio`
- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID to connect only available when STORAGE_TYPE is `minio`
- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey to connect only available when STORAGE_TYPE is `minio`
- `MINIO_BUCKET`: **gitea**: Minio bucket to store the attachments only available when STORAGE_TYPE is `minio`
- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket only available when STORAGE_TYPE is `minio`
- `MINIO_BASE_PATH`: **attachments/**: Minio base path on the bucket only available when STORAGE_TYPE is `minio`
- `MINIO_USE_SSL`: **false**: Minio enabled ssl only available when STORAGE_TYPE is `minio`
- `MINIO_INSECURE_SKIP_VERIFY`: **false**: Minio skip SSL verification available when STORAGE_TYPE is `minio`
- `MINIO_CHECKSUM_ALGORITHM`: **default**: Minio checksum algorithm: `default` (for MinIO or AWS S3) or `md5` (for Cloudflare or Backblaze)
## Log (`log`)
@ -1206,20 +1219,128 @@ WARNING: Changing the settings below can break federation.
- `DEFAULT_INTERVAL`: **8h**: Default interval between each check
- `MIN_INTERVAL`: **10m**: Minimum interval for checking. (Must be >1m).
## LFS (`lfs`)
Storage configuration for lfs data. It will be derived from default `[storage]` or
`[storage.xxx]` when set `STORAGE_TYPE` to `xxx`. When derived, the default of `PATH`
is `data/lfs` and the default of `MINIO_BASE_PATH` is `lfs/`.
- `STORAGE_TYPE`: **local**: Storage type for lfs, `local` for local disk or `minio` for s3 compatible object storage service or other name defined with `[storage.xxx]`
- `SERVE_DIRECT`: **false**: Allows the storage driver to redirect to authenticated URLs to serve files directly. Currently, only Minio/S3 is supported via signed URLs, local does nothing.
- `PATH`: **./data/lfs**: Where to store LFS files, only available when `STORAGE_TYPE` is `local`. If not set it fall back to deprecated LFS_CONTENT_PATH value in [server] section.
- `MINIO_ENDPOINT`: **localhost:9000**: Minio endpoint to connect only available when `STORAGE_TYPE` is `minio`
- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID to connect only available when `STORAGE_TYPE` is `minio`
- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey to connect only available when `STORAGE_TYPE is` `minio`
- `MINIO_BUCKET`: **gitea**: Minio bucket to store the lfs only available when `STORAGE_TYPE` is `minio`
- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket only available when `STORAGE_TYPE` is `minio`
- `MINIO_BASE_PATH`: **lfs/**: Minio base path on the bucket only available when `STORAGE_TYPE` is `minio`
- `MINIO_USE_SSL`: **false**: Minio enabled ssl only available when `STORAGE_TYPE` is `minio`
- `MINIO_INSECURE_SKIP_VERIFY`: **false**: Minio skip SSL verification available when STORAGE_TYPE is `minio`
## Storage (`storage`)
| storage | default base path | app.ini sections |
| ----------------- | ------------------ | -------------------------------------------------- |
| attachments | attachments/ | [attachments] or [storage.attachements] |
| lfs | lfs/ | [lfs] or [storage.lfs] |
| avatars | avatars/ | [avatars] or [storage.avatars] |
| repo-avatars | repo-avatars/ | [repo-avatars] or [storage.repo-avatars] |
| repo-archive | repo-archive/ | [repo-archive] or [storage.repo-archive] |
| packages | packages/ | [packages] or [storage.packages] |
| actions_log | actions_log/ | [actions_log] or [storage.actions_log] |
| actions_artifacts | actions_artifacts/ | [actions_artifacts] or [storage.actions_artifacts] |
Default storage configuration for attachments, lfs, avatars, repo-avatars, repo-archive, packages, actions_log, actions_artifact.
The storage configuration for attachments, lfs, avatars, repo-avatars, repo-archive, packages, actions_log, actions_artifact is [explained in detail in a dedicated section](../storage/).
- `STORAGE_TYPE`: **local**: Storage type, `local` for local disk or `minio` for s3 compatible object storage service.
- `SERVE_DIRECT`: **false**: Allows the storage driver to redirect to authenticated URLs to serve files directly. Currently, only Minio/S3 is supported via signed URLs, local does nothing.
- `MINIO_ENDPOINT`: **localhost:9000**: Minio endpoint to connect only available when `STORAGE_TYPE` is `minio`
- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID to connect only available when `STORAGE_TYPE` is `minio`
- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey to connect only available when `STORAGE_TYPE is` `minio`
- `MINIO_BUCKET`: **gitea**: Minio bucket to store the data only available when `STORAGE_TYPE` is `minio`
- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket only available when `STORAGE_TYPE` is `minio`
- `MINIO_USE_SSL`: **false**: Minio enabled ssl only available when `STORAGE_TYPE` is `minio`
- `MINIO_INSECURE_SKIP_VERIFY`: **false**: Minio skip SSL verification available when STORAGE_TYPE is `minio`
The recommanded storage configuration for minio like below:
```ini
[storage]
STORAGE_TYPE = minio
; Minio endpoint to connect only available when STORAGE_TYPE is `minio`
MINIO_ENDPOINT = localhost:9000
; Minio accessKeyID to connect only available when STORAGE_TYPE is `minio`
MINIO_ACCESS_KEY_ID =
; Minio secretAccessKey to connect only available when STORAGE_TYPE is `minio`
MINIO_SECRET_ACCESS_KEY =
; Minio bucket to store the attachments only available when STORAGE_TYPE is `minio`
MINIO_BUCKET = gitea
; Minio location to create bucket only available when STORAGE_TYPE is `minio`
MINIO_LOCATION = us-east-1
; Minio enabled ssl only available when STORAGE_TYPE is `minio`
MINIO_USE_SSL = false
; Minio skip SSL verification available when STORAGE_TYPE is `minio`
MINIO_INSECURE_SKIP_VERIFY = false
SERVE_DIRECT = true
```
Defaultly every storage has their default base path like below
| storage | default base path |
| ----------------- | ------------------ |
| attachments | attachments/ |
| lfs | lfs/ |
| avatars | avatars/ |
| repo-avatars | repo-avatars/ |
| repo-archive | repo-archive/ |
| packages | packages/ |
| actions_log | actions_log/ |
| actions_artifacts | actions_artifacts/ |
And bucket, basepath or `SERVE_DIRECT` could be special or overrided, if you want to use a different you can:
```ini
[storage.actions_log]
MINIO_BUCKET = forgejo_actions_log
SERVE_DIRECT = true
MINIO_BASE_PATH = my_actions_log/ ; default is actions_log/ if blank
```
If you want to customerize a different storage for `lfs` if above default storage defined
```ini
[lfs]
STORAGE_TYPE = my_minio
[storage.my_minio]
STORAGE_TYPE = minio
; Minio endpoint to connect only available when STORAGE_TYPE is `minio`
MINIO_ENDPOINT = localhost:9000
; Minio accessKeyID to connect only available when STORAGE_TYPE is `minio`
MINIO_ACCESS_KEY_ID =
; Minio secretAccessKey to connect only available when STORAGE_TYPE is `minio`
MINIO_SECRET_ACCESS_KEY =
; Minio bucket to store the attachments only available when STORAGE_TYPE is `minio`
MINIO_BUCKET = forgejo
; Minio location to create bucket only available when STORAGE_TYPE is `minio`
MINIO_LOCATION = us-east-1
; Minio enabled ssl only available when STORAGE_TYPE is `minio`
MINIO_USE_SSL = false
; Minio skip SSL verification available when STORAGE_TYPE is `minio`
MINIO_INSECURE_SKIP_VERIFY = false
```
## Repository Archive Storage (`storage.repo-archive`)
Configuration for repository archive storage. It will inherit from default `[storage]` or
`[storage.xxx]` when set `STORAGE_TYPE` to `xxx`. The default of `PATH`
is `data/repo-archive` and the default of `MINIO_BASE_PATH` is `repo-archive/`.
- `STORAGE_TYPE`: **local**: Storage type for repo archive, `local` for local disk or `minio` for s3 compatible object storage service or other name defined with `[storage.xxx]`
- `SERVE_DIRECT`: **false**: Allows the storage driver to redirect to authenticated URLs to serve files directly. Currently, only Minio/S3 is supported via signed URLs, local does nothing.
- `PATH`: **./data/repo-archive**: Where to store archive files, only available when `STORAGE_TYPE` is `local`.
- `MINIO_ENDPOINT`: **localhost:9000**: Minio endpoint to connect only available when `STORAGE_TYPE` is `minio`
- `MINIO_ACCESS_KEY_ID`: Minio accessKeyID to connect only available when `STORAGE_TYPE` is `minio`
- `MINIO_SECRET_ACCESS_KEY`: Minio secretAccessKey to connect only available when `STORAGE_TYPE is` `minio`
- `MINIO_BUCKET`: **gitea**: Minio bucket to store the lfs only available when `STORAGE_TYPE` is `minio`
- `MINIO_LOCATION`: **us-east-1**: Minio location to create bucket only available when `STORAGE_TYPE` is `minio`
- `MINIO_BASE_PATH`: **repo-archive/**: Minio base path on the bucket only available when `STORAGE_TYPE` is `minio`
- `MINIO_USE_SSL`: **false**: Minio enabled ssl only available when `STORAGE_TYPE` is `minio`
- `MINIO_INSECURE_SKIP_VERIFY`: **false**: Minio skip SSL verification available when STORAGE_TYPE is `minio`
## Repository Archives (`repo-archive`)
- `STORAGE_TYPE`: **local**: Storage type for actions logs, `local` for local disk or `minio` for s3 compatible object storage service, default is `local` or other name defined with `[storage.xxx]`
- `MINIO_BASE_PATH`: **repo-archive/**: Minio base path on the bucket only available when STORAGE_TYPE is `minio`
## Proxy (`proxy`)
@ -1239,6 +1360,8 @@ PROXY_HOSTS = *.github.com
- `ENABLED`: **false**: Enable/Disable actions
- `DEFAULT_ACTIONS_URL`: **https://code.forgejo.org**: Default address to get action plugins, e.g. the default value means downloading from "https://code.forgejo.org/actions/checkout" for "uses: actions/checkout@v3"
- `STORAGE_TYPE`: **local**: Storage type for actions logs, `local` for local disk or `minio` for s3 compatible object storage service, default is `local` or other name defined with `[storage.xxx]`
- `MINIO_BASE_PATH`: **actions_log/**: Minio base path on the bucket only available when STORAGE_TYPE is `minio`
## Other (`other`)

View file

@ -8,7 +8,7 @@ This guide helps Forgejo admins perform upgrades safely and provides guidance to
### Backup
To be safe, make sure to perform a full backup before upgrading. It is a requirement when upgrading to a new stable release (going from v1.19 to v1.20 for instance) but is also a good precaution when installing a patch release (going from v1.19.3-0 to v1.19.4-0 for instance).
To be safe, make sure to perform a full backup before upgrading. It is a requirement when upgrading to a new stable release (going from v1.20 to v1.21 for instance) but is also a good precaution when installing a patch release (going from v1.20.1-0 to v1.20.2-0 for instance).
The reliable way to perform a backup is with a synchronized point-in-time snapshot of all the storage used by Forgejo.
@ -104,7 +104,7 @@ The database version is stored in the database and can be retrieved with **selec
- [1.20.1-0](https://forgejo.org/2023-07-release-v1/)
- The [tokens](https://forgejo.org/docs/v1.20/user/oauth2-provider/#scoped-tokens) were refactored in a way that does not guarantee their scope will be preserved. They may be larger or narrower and the only way to be sure that the intended scope is preserved is to re-create the token.
- The [tokens](https://forgejo.org/docs/v1.21/user/oauth2-provider/#scoped-tokens) were refactored in a way that does not guarantee their scope will be preserved. They may be larger or narrower and the only way to be sure that the intended scope is preserved is to re-create the token.
- [1.15.2](https://blog.gitea.io/2021/09/gitea-1.15.2-is-released/)

View file

@ -7,13 +7,13 @@ license: 'CC-BY-SA-4.0'
The Forgejo release numbers are composed of the Gitea release number followed by a dash and a serial number. For instance:
- Gitea **v1.20.0** will be Forgejo **v1.20.0-0**, **v1.20.0-1**, etc
- Gitea **v1.21.0** will be Forgejo **v1.21.0-0**, **v1.21.0-1**, etc
The Gitea release candidates are suffixed with **-rcN** which is handled as a special case for packaging: although **X.Y.Z** is lexicographically lower than **X.Y.Z-rc1** is is considered greater. The Forgejo serial number must therefore be inserted before the **-rcN** suffix to preserve the expected version ordering.
- Gitea **v1.20.0-rc0** will be Forgejo **v1.20.0-0-rc0**, **v1.20.0-1-rc0**
- Gitea **v1.20.0-rc1** will be Forgejo **v1.20.0-2-rc1**, **v1.20.0-3-rc1**, **v1.20.0-4-rc1**
- Gitea **v1.20.0** will be Forgejo **v1.20.0-5**, **v1.20.0-6**, **v1.20.0-7**
- Gitea **v1.21.0-rc0** will be Forgejo **v1.21.0-0-rc0**, **v1.21.0-1-rc0**
- Gitea **v1.21.0-rc1** will be Forgejo **v1.21.0-2-rc1**, **v1.21.0-3-rc1**, **v1.21.0-4-rc1**
- Gitea **v1.21.0** will be Forgejo **v1.21.0-5**, **v1.21.0-6**, **v1.21.0-7**
- etc.
Because Forgejo depends on Gitea, it must retain the same release numbering scheme to be compatible with libraries and tools that depend on it. For instance, the tea CLI or the Gitea SDK will behave differently depending on the server version they connect to. If Forgejo had a different numbering scheme, it would no longer be compatible with the Gitea ecosystem.

View file

@ -44,17 +44,17 @@ To work with tagged releases, the following commands can be used:
```bash
git branch -a
git checkout v1.20.0-5
git checkout v1.21.2-0
```
To build Forgejo from source at a specific tagged release (like v1.20.0-5), list the
To build Forgejo from source at a specific tagged release (like v1.21.2-0), list the
available tags and check out the specific tag.
List available tags with the following.
```bash
git tag -l
git checkout v1.20.0-5
git checkout v1.21.2-0
```
### Build

View file

@ -1,5 +1,5 @@
---
title: 'Forgejo v1.20 documentation'
title: 'Forgejo v1.21 documentation'
---
- [What is Forgejo?](/)

View file

@ -11,7 +11,7 @@ The following guide explains key **concepts** to help understand how `workflows`
## Quick start
- Verify that `Enable Repository Actions` is checked in the `Repository` tab of the `/{owner}/{repository}/settings` page. If the checkbox does not show it means the administrator of the Forgejo instance did not activate the feature.
![enable actions](../../../../images/v1.20/user/actions/enable-repository.png)
![enable actions](../../../../images/v1.21/user/actions/enable-repository.png)
- Add the following to the `.forgejo/workflows/demo.yaml` file in the repository.
```yaml
on: [push]
@ -21,11 +21,11 @@ The following guide explains key **concepts** to help understand how `workflows`
steps:
- run: echo All Good
```
![demo.yaml file](../../../../images/v1.20/user/actions/demo-yaml.png)
![demo.yaml file](../../../../images/v1.21/user/actions/demo-yaml.png)
- Go to the `Actions` tab of the `/{owner}/{repository}/actions` page of the repository to see the result of the run.
![actions results](../../../../images/v1.20/user/actions/actions-demo.png)
![actions results](../../../../images/v1.21/user/actions/actions-demo.png)
- Click on the workflow link to see the details and the job execution logs.
![actions results](../../../../images/v1.20/user/actions/workflow-demo.png)
![actions results](../../../../images/v1.21/user/actions/workflow-demo.png)
## Concepts
@ -142,33 +142,33 @@ The password to authenticate with the registry where the image is located.
A `Forgejo runner` listens on a `Forgejo` instance, waiting for jobs. To figure out if a runner is available for a given repository, go to `/{owner}/{repository}/settings/actions/runners`. If there are none, you can run one for yourself on your laptop.
![list of runners](../../../../images/v1.20/user/actions/list-of-runners.png)
![list of runners](../../../../images/v1.21/user/actions/list-of-runners.png)
Some runners are **Global** and are available for every repository, others are only available for the repositories within a given user or organization. And there can even be runners dedicated to a single repository. The `Forgejo` administrator is the only one able to launch a **Global** runner. But the user who owns an organization can launch a runner without requiring any special permission. All they need to do is to get a runner registration token and install the runner on their own laptop or on a server of their choosing (see the [Forgejo Actions administrator guide](../../admin/actions/) for more information).
Clicking on the pencil icon next to a runner shows the list of tasks it executed, with the status and a link to display the details of the execution.
![show the runners tasks](../../../../images/v1.20/user/actions/runner-tasks.png)
![show the runners tasks](../../../../images/v1.21/user/actions/runner-tasks.png)
## The list of tasks in a repository
From the `Actions` tab in a repository, the list of ongoing and past tasks triggered by this repository is displayed with their status.
![the list of actions in a repository](../../../../images/v1.20/user/actions/actions-list.png)
![the list of actions in a repository](../../../../images/v1.21/user/actions/actions-list.png)
Following the link on a task displays the logs and the `Re-run all jobs` button. It is also possible to re-run a specific job by hovering on it and clicking on the arrows.
![the details of an action](../../../../images/v1.20/user/actions/actions-detail.png)
![the details of an action](../../../../images/v1.21/user/actions/actions-detail.png)
## Pull request actions are moderated
The first time a user proposes a pull request, the task is blocked to reduce the security risks.
![blocked action](../../../../images/v1.20/user/actions/action-blocked.png)
![blocked action](../../../../images/v1.21/user/actions/action-blocked.png)
It can be approved by a maintainer of the project and there will be no need to unblock future pull requests.
![button to approve an action](../../../../images/v1.20/user/actions/action-approve.png)
![button to approve an action](../../../../images/v1.21/user/actions/action-approve.png)
## Secrets
@ -178,11 +178,11 @@ A repository, a user or an organization can hold secrets, a set of key/value pai
- in `/user/settings/actions/secrets` to be available in all the repositories that belong to the logged in user
- in `/{owner}/{repo}/settings/actions/secrets` to be available to the `workflows` of a single repository
![add a secret](../../../../images/v1.20/user/actions/secret-add.png)
![add a secret](../../../../images/v1.21/user/actions/secret-add.png)
Once the secret is added, its value cannot be changed or displayed.
![secrets list](../../../../images/v1.20/user/actions/secret-list.png)
![secrets list](../../../../images/v1.21/user/actions/secret-list.png)
## Workflow reference guide
@ -259,7 +259,7 @@ The actual machine provided by the runner **entirely depends on how the `Forgejo
The list of available `labels` for a given repository can be seen in the `/{owner}/{repo}/settings/actions/runners` page.
![actions results](../../../../images/v1.20/user/actions/list-of-runners.png)
![actions results](../../../../images/v1.21/user/actions/list-of-runners.png)
##### container

View file

@ -9,11 +9,11 @@ Blocking another user is desirable if they are acting maliciously or are spammin
In order to block another user, go to their profile page and click on the "Block" button.
![Profile card where block button is shown](../../../../images/v1.20/user/block/profile.png)
![Profile card where block button is shown](../../../../images/v1.21/user/block/profile.png)
A popup will show; please read carefully what blocking another user implies, and if you accept the implications, click on Yes.
![Popup where implications of the block action is listed](../../../../images/v1.20/user/block/popup.png)
![Popup where implications of the block action is listed](../../../../images/v1.21/user/block/popup.png)
## How to block someone as an organization
@ -21,19 +21,19 @@ It is possible to block a user from an organization, this has the same implicati
Navigate to your organization's settings and select the Blocked Users page.
![Blocked Users page being selected in the table](../../../../images/v1.20/user/block/org_page.png)
![Blocked Users page being selected in the table](../../../../images/v1.21/user/block/org_page.png)
Find the person you want to block in the search bar, select the user and click block.
![Search results being shown to the search query in the search bar](../../../../images/v1.20/user/block/org_search.png)
![Search results being shown to the search query in the search bar](../../../../images/v1.21/user/block/org_search.png)
You will now see the blocked users in the list, along with the date they were blocked.
![Blocked person being shown in the blocked users list](../../../../images/v1.20/user/block/org_successful.png)
![Blocked person being shown in the blocked users list](../../../../images/v1.21/user/block/org_successful.png)
To unblock that person, you can click the unblock button next to their name.
![Blocked person being shown in the blocked users list](../../../../images/v1.20/user/block/org_unblock.png)
![Blocked person being shown in the blocked users list](../../../../images/v1.21/user/block/org_unblock.png)
## Implications of blocking a user

View file

@ -20,7 +20,7 @@ When you're logged in, you can use one of the two buttons shown in the two follo
This will lead you to this page below.
![screenshot of new repository page](../../../../images/v1.20/user/first-repository/create-repo-2.png)
![screenshot of new repository page](../../../../images/v1.21/user/first-repository/create-repo-2.png)
Here's an explanation of the form's fields:
@ -41,7 +41,7 @@ After filling out the fields, click the green "Create Repository" button on the
You should now see a screen similar to the one below. If you haven't chosen to generate `LICENSE`, `README` and `.gitignore` the screen might show instructions instead, which will vanish after [your first commit](#making-your-first-commit/).
![screenshot showing a freshly baken repository](../../../../images/v1.20/user/first-repository/create-repo-3.png)
![screenshot showing a freshly baken repository](../../../../images/v1.21/user/first-repository/create-repo-3.png)
Here's what the most important buttons do:
@ -86,7 +86,7 @@ knut@iceberg:~/repositories$
To clone your newly created repository, execute `git clone` with the URL that is shown in your repository:
![screenshot of the two options to receive a clone URL for git](../../../../images/v1.20/user/first-repository/repo-url.png)
![screenshot of the two options to receive a clone URL for git](../../../../images/v1.21/user/first-repository/repo-url.png)
```bash
knut@iceberg:~/repositories$ git clone https://codeberg.org/knut/foobar
@ -249,6 +249,6 @@ When connecting via HTTPS, Git will ask you for your username and password, whic
After refreshing the repository page, you should now see something similar to this:
![screenshot showing the updated README on Codeberg](../../../../images/v1.20/user/first-repository/hello-world.png)
![screenshot showing the updated README on Codeberg](../../../../images/v1.21/user/first-repository/hello-world.png)
Congratulations - you've just made your first source code contribution on Forgejo!

View file

@ -11,7 +11,7 @@ direction, ask questions and much more.
### The Issue Tracker
![Issues list](../../../../images/v1.20/user/issue-tracking-basics/issues-list.png)
![Issues list](../../../../images/v1.21/user/issue-tracking-basics/issues-list.png)
You can access the issue tracker of a project by clicking its "Issues" tab **(1)**.

View file

@ -10,7 +10,7 @@ You can use labels to classify issues and pull requests and to improve your over
For repositories, labels can be created by going to `Issues` and clicking on `Labels`.
![create a label](../../../../images/v1.20/user/labels/label-new.png)
![create a label](../../../../images/v1.21/user/labels/label-new.png)
For organizations, you can define organization-wide labels that are shared with all organization repositories, including both already-existing repositories as well as newly created ones. Organization-wide labels can be created in the organization `Settings`.
@ -18,7 +18,7 @@ Labels have a mandatory name, a mandatory color, an optional description, and mu
When you create a repository, you can ensure certain labels exist by using the `Issue Labels` option. This option lists a number of available label sets that are configured globally on your instance. Its contained labels will all be created as well while creating the repository.
![list of labels](../../../../images/v1.20/user/labels/label-apply.png)
![list of labels](../../../../images/v1.21/user/labels/label-apply.png)
When you create a repository, you can ensure certain labels exist by using the `Issue Labels` option. This option lists a number of available label sets that are configured globally on your instance. Its contained labels will all be created as well while creating the repository.
@ -26,7 +26,7 @@ When you create a repository, you can ensure certain labels exist by using the `
Scoped labels are used to ensure at most a single label with the same scope is assigned to an issue or pull request. For example, if labels `kind/bug` and `kind/enhancement` have the Exclusive option set, an issue can only be classified as a bug or an enhancement.
![list of labels](../../../../images/v1.20/user/labels/label-list.png)
![list of labels](../../../../images/v1.21/user/labels/label-list.png)
A scoped label must contain `/` in its name (not at either end of the name). The scope of a label is determined based on the **last** `/`, so for example the scope of label `scope/subscope/item` is `scope/subscope`.

View file

@ -10,11 +10,11 @@ shows to the left, under their avatar. It can now be fully
personalized with a markdown file that is displayed instead of the
list of repositories.
![Profile page](../../../../images/v1.20/user/profile/profile-step1.png)
![Profile page](../../../../images/v1.21/user/profile/profile-step1.png)
It uses the `README.md` file from the `.profile` repository of the
user, if it exists.
![Profile README.md](../../../../images/v1.20/user/profile/profile-step2.png)
![Profile README.md](../../../../images/v1.21/user/profile/profile-step2.png)
> **NOTE:** if a the `.profile` repository is private the `README.md` they contain will be displayed publicly. It is **strongly recommended** to verify no such repository exist in a given instance before upgrading.

View file

@ -5,10 +5,10 @@ license: 'CC-BY-SA-4.0'
A project is a [kanban board](<https://en.wikipedia.org/wiki/Kanban_(development)>) to organize issues.
![screenshot of the project page](../../../../images/v1.20/user/project/project.png)
![screenshot of the project page](../../../../images/v1.21/user/project/project.png)
## Card previews images
If the card preview in the project is set to **Images and Text**, the card preview displays images found in the corresponding issue. The most recent is displayed first, up to five images.
![example of card image preview](../../../../images/v1.20/user/project/project-image.png)
![example of card image preview](../../../../images/v1.21/user/project/project-image.png)

View file

@ -13,7 +13,7 @@ request.
To protect a branch, you need to go to the repositorys **Settings** >
**Branch** page and add a new rule.
![Add a new rule](../../../../images/v1.20/user/protection/branch-protect.png)
![Add a new rule](../../../../images/v1.21/user/protection/branch-protect.png)
The name of the branch can be a glob where / is the separator and **
spans accross separators. For instance `main`, `release/**`or`precious\*`.

View file

@ -14,7 +14,7 @@ Visibility of your repositories is in general inherited from your profile. So ot
If you want to limit visibility access to your repositories you can set your **user visibility** in the user privacy settings to **Limited**. Even if your repository is public, non-contributors will get a 404-error if they try to access your repository.
![screenshot showing the updated README](../../../../images/v1.20/user/repo-permissions/user-settings-privacy-limited.webp)
![screenshot showing the updated README](../../../../images/v1.21/user/repo-permissions/user-settings-privacy-limited.webp)
## Collaborators

View file

@ -183,6 +183,6 @@ There is a Test Delivery button in the webhook settings that allows to test the
Forgejo webhooks can be configured to send an [authorization header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization) to the target.
![screenshot of the webhook definition webpage](../../../../images/v1.20/user/webhooks/authorization-header.png)
![screenshot of the webhook definition webpage](../../../../images/v1.21/user/webhooks/authorization-header.png)
The authentication string is stored encrypted in the database.

View file

@ -32,7 +32,7 @@ After you have enabled the wiki you are prompted to create the initial page `Hom
The web UI in your browser is currently limited to adding, updating, and deleting pages; you can't manage assets like images this way.
![Wiki home page with edit buttons](../../../../images/v1.20/user/wiki/wiki_pageview.png)
![Wiki home page with edit buttons](../../../../images/v1.21/user/wiki/wiki_pageview.png)
Clicking on the "Insert Image" button will make the following text appear in your text editor: `![](https://)`