Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2d9dafa60e | |||
| ae967066cb | |||
| cf8509924b | |||
| 1a92d6efa7 | |||
| 8dc2e4d3e8 | |||
| 37bda140be | |||
| f710e16a35 | |||
| 7118f1dd24 | |||
| fda333bd87 | |||
| 80d76aa524 | |||
| 77f37ad6f1 | |||
| c3e3ab0325 | |||
| b257397a15 | |||
| a4f0a491d0 | |||
| eadb0293c0 | |||
| 9400d7c75d | |||
| c121cf29d7 | |||
| 265fe9f569 | |||
| 66d669bebf | |||
| e346bea956 | |||
| 6ade55c2b2 | |||
| 8455f15e27 | |||
| 594be7f44a | |||
| 0a161adbcd | |||
| 94c0a400c6 | |||
| cd2e2d62b6 | |||
| 4da3a1b0cc | |||
| 7926f4fb39 | |||
| 863b0d9617 | |||
| 360be955b0 | |||
| 6443f058c1 | |||
| c05034041f | |||
| d90b1b2689 | |||
| 3747c6e38e | |||
| 10816168b7 | |||
| 87fb26e440 | |||
| 38bb9b95aa |
+35
-29
@@ -17,7 +17,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2.3.4
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Update action.yml to build locally
|
- name: Update action.yml to build locally
|
||||||
run: |
|
run: |
|
||||||
@@ -25,7 +25,7 @@ jobs:
|
|||||||
cat action.yml
|
cat action.yml
|
||||||
|
|
||||||
- name: Get sample PKGBUILD
|
- name: Get sample PKGBUILD
|
||||||
run: wget https://github.com/datakrama/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
|
run: wget https://github.com/hapakaien/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
|
||||||
|
|
||||||
- name: Running test
|
- name: Running test
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -42,18 +42,25 @@ jobs:
|
|||||||
git diff .SRCINFO
|
git diff .SRCINFO
|
||||||
|
|
||||||
publish:
|
publish:
|
||||||
name: Publish container image
|
name: Publish OCI image
|
||||||
needs: pretest
|
needs: pretest
|
||||||
if: github.event_name != 'pull_request'
|
if: github.event_name != 'pull_request'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: OCI meta
|
- name: Log in to ghcr.io
|
||||||
id: meta
|
uses: redhat-actions/podman-login@v1
|
||||||
uses: docker/metadata-action@v3
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: OCI metadata
|
||||||
|
id: metadata
|
||||||
|
uses: docker/metadata-action@v4
|
||||||
with:
|
with:
|
||||||
images: ghcr.io/${{ github.repository }}
|
images: ghcr.io/${{ github.repository }}
|
||||||
tags: |
|
tags: |
|
||||||
@@ -64,38 +71,37 @@ jobs:
|
|||||||
type=semver,pattern={{major}}
|
type=semver,pattern={{major}}
|
||||||
type=sha
|
type=sha
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Build image
|
||||||
uses: docker/setup-qemu-action@v1
|
id: build
|
||||||
|
uses: redhat-actions/buildah-build@v2
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v1
|
|
||||||
|
|
||||||
- name: Login to GHCR
|
|
||||||
uses: docker/login-action@v1
|
|
||||||
with:
|
with:
|
||||||
|
tags: ${{ steps.metadata.outputs.tags }}
|
||||||
|
labels: ${{ steps.metadata.outputs.labels }}
|
||||||
|
containerfiles: |
|
||||||
|
./Dockerfile
|
||||||
|
extra-args: |
|
||||||
|
--pull
|
||||||
|
|
||||||
|
- name: Push to ghcr.io
|
||||||
|
uses: redhat-actions/push-to-registry@v2
|
||||||
|
with:
|
||||||
|
image: ${{ steps.build.outputs.image }}
|
||||||
|
tags: ${{ steps.build.outputs.tags }}
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
extra-args: |
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
--disable-content-trust
|
||||||
|
|
||||||
- name: Build and push
|
|
||||||
uses: docker/build-push-action@v2
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
name: Test (with prebuilt Container Image)
|
name: Test (with prebuilt OCI Image)
|
||||||
needs: publish
|
needs: publish
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2.3.4
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Get sample PKGBUILD
|
- name: Get sample PKGBUILD
|
||||||
run: wget https://github.com/datakrama/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
|
run: wget https://github.com/hapakaien/plenti-bin/raw/f5ffaaee02a2119aa16f6b7a27e87e198e096b47/PKGBUILD
|
||||||
|
|
||||||
- name: Update action.yml to use edge tagged container image
|
- name: Update action.yml to use edge tagged container image
|
||||||
if: github.ref == 'refs/heads/main'
|
if: github.ref == 'refs/heads/main'
|
||||||
@@ -125,7 +131,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Get branch/tag names
|
- name: Get branch/tag names
|
||||||
id: branch-name
|
id: branch-name
|
||||||
|
|||||||
+61
-5
@@ -7,6 +7,54 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [2.1.1] - 2022-05-15
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Wrong conditional using paru
|
||||||
|
|
||||||
|
## [2.1.0] - 2022-05-05
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Option to resolve deps using paru (from AUR)
|
||||||
|
|
||||||
|
## [2.0.3] - 2022-02-02
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Copied PKGBUILD file has wrong permission
|
||||||
|
|
||||||
|
## [2.0.2] - 2022-02-02
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- CI can not read changelog
|
||||||
|
|
||||||
|
## [2.0.1] - 2022-02-02
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Wrong OCI image tag at action.yml
|
||||||
|
|
||||||
|
## [2.0.0] - 2022-02-02
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Move repo from hapakaien to hapakaien
|
||||||
|
- `builder` user is added to sudoers directly instead of via the wheel group
|
||||||
|
- Replace Docker with Buildah in CI
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- `builder` is not in the sudoers file
|
||||||
|
|
||||||
|
## [1.1.1] - 2021-10-26
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Wrong `.git` folder when using `path` parameter
|
||||||
|
|
||||||
## [1.1.0] - 2021-10-02
|
## [1.1.0] - 2021-10-02
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
@@ -43,8 +91,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
- Initial release
|
- Initial release
|
||||||
|
|
||||||
[Unreleased]: https://github.com/datakrama/archlinux-package-action/compare/v1.1.0...HEAD
|
[Unreleased]: https://github.com/hapakaien/archlinux-package-action/compare/v2.1.1...HEAD
|
||||||
[1.0.3]: https://github.com/datakrama/archlinux-package-action/compare/v1.0.2...v1.0.3
|
[2.1.1]: https://github.com/hapakaien/archlinux-package-action/compare/v2.1.0...v2.1.1
|
||||||
[1.0.2]: https://github.com/datakrama/archlinux-package-action/compare/v1.0.1...v1.0.2
|
[2.1.0]: https://github.com/hapakaien/archlinux-package-action/compare/v2.0.3...v2.1.0
|
||||||
[1.0.1]: https://github.com/datakrama/archlinux-package-action/compare/v1.0.0...v1.0.1
|
[2.0.3]: https://github.com/hapakaien/archlinux-package-action/compare/v2.0.2...v2.0.3
|
||||||
[1.0.0]: https://github.com/datakrama/archlinux-package-action/releases/tag/v1.0.0
|
[2.0.2]: https://github.com/hapakaien/archlinux-package-action/compare/v2.0.1...v2.0.2
|
||||||
|
[2.0.1]: https://github.com/hapakaien/archlinux-package-action/compare/v2.0.0...v2.0.1
|
||||||
|
[2.0.0]: https://github.com/hapakaien/archlinux-package-action/compare/v1.1.1...v2.0.0
|
||||||
|
[1.1.1]: https://github.com/hapakaien/archlinux-package-action/compare/v1.1.0...v1.1.1
|
||||||
|
[1.1.0]: https://github.com/hapakaien/archlinux-package-action/compare/v1.0.3...v1.1.0
|
||||||
|
[1.0.3]: https://github.com/hapakaien/archlinux-package-action/compare/v1.0.2...v1.0.3
|
||||||
|
[1.0.2]: https://github.com/hapakaien/archlinux-package-action/compare/v1.0.1...v1.0.2
|
||||||
|
[1.0.1]: https://github.com/hapakaien/archlinux-package-action/compare/v1.0.0...v1.0.1
|
||||||
|
[1.0.0]: https://github.com/hapakaien/archlinux-package-action/releases/tag/v1.0.0
|
||||||
|
|||||||
+8
-5
@@ -5,11 +5,14 @@ FROM docker.io/library/archlinux:base-devel
|
|||||||
RUN pacman -Syu --needed --noconfirm pacman-contrib namcap git
|
RUN pacman -Syu --needed --noconfirm pacman-contrib namcap git
|
||||||
|
|
||||||
# Setup user
|
# Setup user
|
||||||
RUN useradd --create-home --shell /bin/bash builder && \
|
RUN useradd -m builder && \
|
||||||
passwd --delete builder && \
|
echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
||||||
chown -vR builder:builder /home/builder && \
|
WORKDIR /home/builder
|
||||||
usermod -aG wheel builder && \
|
USER builder
|
||||||
echo 'wheel ALL=(ALL:ALL) ALL' >> /etc/sudoers
|
|
||||||
|
# Install paru
|
||||||
|
RUN git clone https://aur.archlinux.org/paru-bin.git
|
||||||
|
RUN cd paru-bin && makepkg -si --noconfirm
|
||||||
|
|
||||||
# Copy files
|
# Copy files
|
||||||
COPY LICENSE README.md /
|
COPY LICENSE README.md /
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# Arch Linux's package tools action
|
# Arch Linux's package tools action
|
||||||
|
|
||||||
[](https://github.com/datakrama/archlinux-package-action/actions) [](https://github.com/datakrama/archlinux-package-action/releases) [](./LICENSE)
|
[](https://github.com/hapakaien/archlinux-package-action/actions) [](https://github.com/hapakaien/archlinux-package-action/releases) [](./LICENSE)
|
||||||
|
|
||||||
This action allows running tools needed for creating Arch Linux (and AUR) package.
|
This action allows running tools needed for creating Arch Linux (and AUR) package.
|
||||||
Here's what this action can do:
|
Here's what this action can do:
|
||||||
|
|
||||||
- Update `pkgver`, `pkgrel`, or checksums on PKGBUILD file
|
- Update `pkgver`, `pkgrel`, or checksums on PKGBUILD file
|
||||||
@@ -21,15 +21,16 @@ Here's what this action can do:
|
|||||||
|
|
||||||
Following inputs can be used as `step.with` keys
|
Following inputs can be used as `step.with` keys
|
||||||
|
|
||||||
| Name | Type | Default | Required | Description |
|
| Name | Type | Default | Required | Description |
|
||||||
|-------------------|-----------|-------------------------------|-----------|---------------------------------------|
|
| ------------ | ------- | ------------------ | -------- | -------------------------------------------------------------------------------- |
|
||||||
| `path` | String | | `false` | Path where PKGBUILD is located. This path always located under $GITHUB_WORKSPACE |
|
| `path` | String | | `false` | Path where PKGBUILD is located. This path always located under $GITHUB_WORKSPACE |
|
||||||
| `pkgver` | String | | `false` | Update `pkgver` on your PKGBUILD |
|
| `pkgver` | String | | `false` | Update `pkgver` on your PKGBUILD |
|
||||||
| `pkgrel` | Integer | | `false` | Update `pkgrel` on your PKGBUILD |
|
| `pkgrel` | Integer | | `false` | Update `pkgrel` on your PKGBUILD |
|
||||||
| `updpkgsums` | Boolean | `false` | `false` | Update checksums on your PKGBUILD |
|
| `updpkgsums` | Boolean | `false` | `false` | Update checksums on your PKGBUILD |
|
||||||
| `srcinfo` | Boolean | `false` | `false` | Generate new .SRCINFO |
|
| `srcinfo` | Boolean | `false` | `false` | Generate new .SRCINFO |
|
||||||
| `namcap` | Boolean | `true` | `false` | Validate PKGBUILD |
|
| `namcap` | Boolean | `true` | `false` | Validate PKGBUILD |
|
||||||
| `flags` | String | `-cfs --noconfirm` | `false` | Flags after `makepkg` command. Leave this empty will disable this command. |
|
| `flags` | String | `-cfs --noconfirm` | `false` | Flags after `makepkg` command. Leave this empty will disable this command. |
|
||||||
|
| `aur` | Boolean | `false` | `false` | Resolve dependencies using paru |
|
||||||
|
|
||||||
### Examples
|
### Examples
|
||||||
|
|
||||||
@@ -52,7 +53,7 @@ jobs:
|
|||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Validate package
|
- name: Validate package
|
||||||
uses: datakrama/archlinux-package-action@v1
|
uses: hapakaien/archlinux-package-action@v2
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2. Only generate .SRCINFO
|
#### 2. Only generate .SRCINFO
|
||||||
@@ -72,7 +73,7 @@ jobs:
|
|||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Validate package
|
- name: Validate package
|
||||||
uses: datakrama/archlinux-package-action@v1
|
uses: hapakaien/archlinux-package-action@v2
|
||||||
with:
|
with:
|
||||||
flags: ''
|
flags: ''
|
||||||
namcap: false
|
namcap: false
|
||||||
@@ -96,7 +97,7 @@ jobs:
|
|||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Validate package
|
- name: Validate package
|
||||||
uses: datakrama/archlinux-package-action@v1
|
uses: hapakaien/archlinux-package-action@v2
|
||||||
with:
|
with:
|
||||||
flags: ''
|
flags: ''
|
||||||
namcap: false
|
namcap: false
|
||||||
@@ -120,7 +121,7 @@ jobs:
|
|||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Validate package
|
- name: Validate package
|
||||||
uses: datakrama/archlinux-package-action@v1
|
uses: hapakaien/archlinux-package-action@v2
|
||||||
with:
|
with:
|
||||||
path: package
|
path: package
|
||||||
flags: '-si --noconfirm'
|
flags: '-si --noconfirm'
|
||||||
|
|||||||
+7
-2
@@ -1,7 +1,7 @@
|
|||||||
# https://help.github.com/en/articles/metadata-syntax-for-github-actions
|
# https://help.github.com/en/articles/metadata-syntax-for-github-actions
|
||||||
name: "Arch Linux's package action"
|
name: "Arch Linux's package action"
|
||||||
description: "GitHub Action to run Arch Linux's package tools"
|
description: "GitHub Action to run Arch Linux's package tools"
|
||||||
author: 'datakrama'
|
author: 'hapakaien'
|
||||||
branding:
|
branding:
|
||||||
icon: 'package'
|
icon: 'package'
|
||||||
color: 'blue'
|
color: 'blue'
|
||||||
@@ -35,10 +35,14 @@ inputs:
|
|||||||
description: 'Validate package with namcap'
|
description: 'Validate package with namcap'
|
||||||
default: 'true'
|
default: 'true'
|
||||||
required: false
|
required: false
|
||||||
|
aur:
|
||||||
|
description: 'Resolve dependencies using paru'
|
||||||
|
default: 'false'
|
||||||
|
required: false
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: 'docker'
|
using: 'docker'
|
||||||
image: 'docker://ghcr.io/datakrama/archlinux-package-action:1'
|
image: 'docker://ghcr.io/hapakaien/archlinux-package-action:2'
|
||||||
args:
|
args:
|
||||||
- ${{ inputs.path }}
|
- ${{ inputs.path }}
|
||||||
- ${{ inputs.pkgver }}
|
- ${{ inputs.pkgver }}
|
||||||
@@ -47,3 +51,4 @@ runs:
|
|||||||
- ${{ inputs.srcinfo }}
|
- ${{ inputs.srcinfo }}
|
||||||
- ${{ inputs.flags }}
|
- ${{ inputs.flags }}
|
||||||
- ${{ inputs.namcap }}
|
- ${{ inputs.namcap }}
|
||||||
|
- ${{ inputs.aur }}
|
||||||
|
|||||||
+25
-15
@@ -2,13 +2,15 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Set path
|
# Set path
|
||||||
echo "::group::Copying file from $WORKPATH to /tmp/gh-action"
|
|
||||||
WORKPATH=$GITHUB_WORKSPACE/$INPUT_PATH
|
WORKPATH=$GITHUB_WORKSPACE/$INPUT_PATH
|
||||||
|
HOME=/home/builder
|
||||||
|
echo "::group::Copying files from $WORKPATH to $HOME/gh-action"
|
||||||
# Set path permision
|
# Set path permision
|
||||||
sudo -u builder mkdir /tmp/gh-action
|
cd $HOME
|
||||||
sudo -u builder cp -rfv "$WORKPATH"/.git /tmp/gh-action/.git
|
mkdir gh-action
|
||||||
sudo -u builder cp -fv "$WORKPATH"/PKGBUILD /tmp/gh-action/PKGBUILD
|
cd gh-action
|
||||||
cd /tmp/gh-action
|
cp -rfv "$GITHUB_WORKSPACE"/.git ./
|
||||||
|
cp -fv "$WORKPATH"/PKGBUILD ./
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
# Update pkgver
|
# Update pkgver
|
||||||
@@ -30,7 +32,7 @@ fi
|
|||||||
# Update checksums
|
# Update checksums
|
||||||
if [[ $INPUT_UPDPKGSUMS == true ]]; then
|
if [[ $INPUT_UPDPKGSUMS == true ]]; then
|
||||||
echo "::group::Updating checksums on PKGBUILD"
|
echo "::group::Updating checksums on PKGBUILD"
|
||||||
sudo -u builder updpkgsums
|
updpkgsums
|
||||||
git diff PKGBUILD
|
git diff PKGBUILD
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
fi
|
fi
|
||||||
@@ -38,7 +40,7 @@ fi
|
|||||||
# Generate .SRCINFO
|
# Generate .SRCINFO
|
||||||
if [[ $INPUT_SRCINFO == true ]]; then
|
if [[ $INPUT_SRCINFO == true ]]; then
|
||||||
echo "::group::Generating new .SRCINFO based on PKGBUILD"
|
echo "::group::Generating new .SRCINFO based on PKGBUILD"
|
||||||
sudo -u builder makepkg --printsrcinfo > .SRCINFO
|
makepkg --printsrcinfo >.SRCINFO
|
||||||
git diff .SRCINFO
|
git diff .SRCINFO
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
fi
|
fi
|
||||||
@@ -50,16 +52,24 @@ if [[ $INPUT_NAMCAP == true ]]; then
|
|||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Run makepkg
|
# Install depends using paru from aur
|
||||||
if [[ -n $INPUT_FLAGS ]]; then
|
if [[ $INPUT_AUR == true ]]; then
|
||||||
echo "::group::Running makepkg with flags"
|
echo "::group::Installing depends using paru"
|
||||||
sudo -u builder makepkg $INPUT_FLAGS
|
source PKGBUILD
|
||||||
|
paru -Syu --removemake --needed --noconfirm "${depends[@]}" "${makedepends[@]}"
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "::group::Copying files from /tmp/gh-action to $WORKPATH"
|
# Run makepkg
|
||||||
cp -fv /tmp/gh-action/PKGBUILD "$WORKPATH"/PKGBUILD
|
if [[ -n $INPUT_FLAGS ]]; then
|
||||||
if [[ -e /tmp/gh-action/.SRCINFO ]]; then
|
echo "::group::Running makepkg with flags"
|
||||||
cp -fv /tmp/gh-action/.SRCINFO "$WORKPATH"/.SRCINFO
|
makepkg $INPUT_FLAGS
|
||||||
|
echo "::endgroup::"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "::group::Copying files from $HOME/gh-action to $WORKPATH"
|
||||||
|
sudo cp -fv PKGBUILD "$WORKPATH"/PKGBUILD
|
||||||
|
if [[ -e .SRCINFO ]]; then
|
||||||
|
sudo cp -fv .SRCINFO "$WORKPATH"/.SRCINFO
|
||||||
fi
|
fi
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|||||||
Reference in New Issue
Block a user