Skip to content

Commit 4aa0d4c

Browse files
committed
initial commit
0 parents  commit 4aa0d4c

File tree

366 files changed

+63199
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

366 files changed

+63199
-0
lines changed

.dockerignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
target
2+
paru.tar.*

.github/FUNDING.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
github: Morganamilo
2+
custom: https://paypal.me/zzsugar
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
name: Bug Report
3+
about: Report a Bug
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
### Affected Version
11+
**paru -V**
12+
13+
### Description
14+
**Have you checked previous issues?**
15+
16+
### Output
17+
**Include the FULL output of any relevant commands/configs**
18+
19+
**Don't cut parts of the input always include the FULL thing**
20+
21+
**paru.conf and pacman.conf are usually always relevant**
22+
23+
```sh
24+
25+
```
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Have you checked the readme and man page for this feature?**
11+
**Have you checked previous issues for this feature?**

.github/ISSUE_TEMPLATE/issue.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
name: Issue
3+
about: Report an Issue
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
### Affected Version
11+
**paru -V**
12+
13+
### Description
14+
**Have you checked previous issues?**
15+
16+
### Output
17+
**Include the FULL output of any relevant commands/configs**
18+
19+
**Don't cut parts of the input always include the FULL thing**
20+
21+
**paru.conf and pacman.conf are usually always relevant**
22+
23+
```sh
24+
25+
```

.github/workflows/build.yml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
name: Build Release
2+
on:
3+
push:
4+
tags:
5+
- v*
6+
branches:
7+
- test-release/*
8+
9+
jobs:
10+
get-version:
11+
runs-on: ubuntu-latest
12+
outputs:
13+
version: ${{ steps.version.outputs.version }}
14+
steps:
15+
- id: version
16+
run: echo "version=${ref##test-release/}" >> $GITHUB_OUTPUT
17+
env:
18+
ref: ${{ github.ref_name }}
19+
20+
build-releases:
21+
name: Build release
22+
runs-on: ubuntu-latest
23+
strategy:
24+
matrix:
25+
platform:
26+
- docker: amd64
27+
arch: x86_64
28+
- docker: arm64/v8
29+
arch: aarch64
30+
- docker: arm/v7
31+
arch: armv7h
32+
33+
steps:
34+
- uses: actions/checkout@v4
35+
- uses: docker/setup-qemu-action@v3
36+
with:
37+
platforms: all
38+
- uses: docker/setup-buildx-action@v3
39+
with:
40+
version: latest
41+
install: true
42+
- run: docker build --platform=linux/${{ matrix.platform.docker }} -o . .
43+
- uses: actions/upload-artifact@v3
44+
with:
45+
name: paru-${{ matrix.platform.arch }}
46+
path: paru.tar.zst
47+
48+
release:
49+
name: Create GitHub Release
50+
runs-on: ubuntu-latest
51+
needs: [build-releases, get-version]
52+
outputs:
53+
release-url: ${{ steps.create-release.outputs.upload_url }}
54+
steps:
55+
- name: Create Release
56+
id: create-release
57+
uses: actions/create-release@master
58+
env:
59+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60+
with:
61+
tag_name: ${{ needs.get-version.outputs.version }}
62+
release_name: Paru v${{ needs.get-version.outputs.version }}
63+
draft: true
64+
prerelease: false
65+
66+
upload-binaries:
67+
name: Upload binaries to Githib relase
68+
runs-on: ubuntu-latest
69+
needs: [release, get-version]
70+
strategy:
71+
matrix:
72+
arch: [x86_64, aarch64, armv7h]
73+
steps:
74+
- uses: actions/download-artifact@v3
75+
with:
76+
name: paru-${{ matrix.arch }}
77+
- uses: actions/upload-release-asset@v1
78+
env:
79+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
80+
with:
81+
upload_url: ${{ needs.release.outputs.release-url }}
82+
asset_name: paru-${{ needs.get-version.outputs.version }}-${{ matrix.arch }}.tar.zst
83+
asset_path: paru.tar.zst
84+
asset_content_type: application/tar+zstd
85+

.github/workflows/mo.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Build Translations
2+
3+
on:
4+
push:
5+
paths:
6+
- 'po/*.po'
7+
pull_request:
8+
paths:
9+
- 'po/*.po'
10+
11+
env:
12+
CARGO_TERM_COLOR: always
13+
14+
jobs:
15+
test:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Install gettext
19+
run: sudo apt-get install gettext
20+
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Build translations
25+
run: ./scripts/mkmo locale

.github/workflows/paru.yml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Paru
2+
3+
on:
4+
push:
5+
paths:
6+
- 'src/*.rs'
7+
- 'testdata/**'
8+
- 'tests/**'
9+
- 'Cargo.*'
10+
pull_request:
11+
paths:
12+
- 'src/*.rs'
13+
- 'testdata/**'
14+
- 'tests/**'
15+
- 'Cargo.*'
16+
17+
env:
18+
CARGO_TERM_COLOR: always
19+
20+
jobs:
21+
test:
22+
runs-on: ubuntu-latest
23+
container:
24+
image: archlinux
25+
steps:
26+
- name: Install Packages
27+
run: pacman -Syu rust clang gcc git libarchive pkgconf sudo fakeroot --noconfirm --needed
28+
29+
- name: Checkout
30+
uses: actions/checkout@v2
31+
32+
- uses: Swatinem/rust-cache@v2
33+
with:
34+
cache-on-failure: true
35+
36+
- name: Format
37+
run: cargo fmt -- --check
38+
39+
- name: Build
40+
run: cargo build --locked --features generate
41+
42+
- name: Test
43+
run: sudo -u nobody XDG_STATE_HOME=/tmp CARGO_HOME=/tmp/cargo cargo test --locked --features generate,mock --target-dir=/tmp -- --nocapture
44+
45+
test-git:
46+
runs-on: ubuntu-latest
47+
container:
48+
image: archlinux
49+
steps:
50+
- name: Install Packages
51+
run: pacman -Syu rust curl clang git base-devel libarchive meson asciidoc doxygen fakechroot pkgconf --noconfirm --needed
52+
53+
- name: Install Pacman-git
54+
run: |
55+
git clone https://aur.archlinux.org/pacman-git
56+
chown -R nobody pacman-git
57+
cd pacman-git
58+
sudo -u nobody makepkg --nocheck
59+
sudo -u nobody makepkg --packagelist > list
60+
yes | pacman -U $(cat list)
61+
62+
- name: Checkout
63+
uses: actions/checkout@v2
64+
65+
- uses: Swatinem/rust-cache@v2
66+
with:
67+
cache-on-failure: true
68+
69+
- name: Format
70+
run: cargo fmt -- --check
71+
72+
- name: Build
73+
run: cargo build --locked --features git,generate
74+
75+
- name: Test
76+
run: sudo -u nobody XDG_STATE_HOME=/tmp CARGO_HOME=/tmp/cargo cargo test --locked --features git,generate,mock --target-dir=/tmp -- --nocapture

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/target
2+
paru.tar.*
3+
po/*.mo
4+
locale/
5+
testdata/pkg/*

0 commit comments

Comments
 (0)