Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cd: auto generate debian repository #26

Merged
merged 23 commits into from Apr 16, 2024
Merged

cd: auto generate debian repository #26

merged 23 commits into from Apr 16, 2024

Conversation

JyJyJcr
Copy link
Collaborator

@JyJyJcr JyJyJcr commented Apr 11, 2024

Automatically generate & update Debian repository on a branch in GitHub.
This resolve one of the requirements in #13.

Behavior

When tag v* pushed, then the bot moves(reset) branch publish to the tag commit, and creates the Debian repository in /publish/deb on the branch. When tag test-release* pushed, it uses pre_publish instead for testing. Published Debian packages use the information in Cargo.toml. The format is given in readme of cargo-deb.

Required preparation

  • create branch pre_publish and publish (which commit the branches stems from don't affect anything)
  • open GitHub pages on publish

Optional preparation

If you want to sign the repository by gpg, Additional steps are needed.

  1. generate your own GPG key. Let the ID of the key to be [KEY_ID].
  2. export your public and secret key in ASCII style.
  3. put the SECRET key text into GitHub Secret DEB_GPG_SECRET_KEY .
  4. append the below line into /publish/deb/conf/distributions:
SignWith: [KEY_ID]
  1. put the PUBLIC key file in anywhere you like (reccomendation: /publish/deb/gpg.key.asc)
  2. uncomment here:
    # - name: Import gpg
    # uses: crazy-max/ghaction-import-gpg@v6
    # with:
    # gpg_private_key: ${{ secrets.DEB_GPG_SECRET_KEY }}

How to install

Do this:

sudo echo "deb [trusted=yes] https://oowl.github.io/quicssh-rs/publish/deb stable main" > "/etc/apt/sources.list.d/quicssh-rs.list"
sudo apt update
sudo apt install quicssh-rs

If GPG Signature enabled, do this instead:

curl -fsSL https://jyjyjcr.github.io/ngx-strict-sni/publish/deb/gpg.key.asc | sudo gpg --dearmor -o /etc/apt/keyrings/quicssh-rs.gpg
sudo echo "deb [signed-by=/etc/apt/keyrings/quicssh-rs.gpg] https://oowl.github.io/quicssh-rs/publish/deb stable main" > "/etc/apt/sources.list.d/quicssh-rs.list"
sudo apt update
sudo apt install quicssh-rs

@oowl oowl merged commit af157af into oowl:master Apr 16, 2024
11 checks passed
@oowl
Copy link
Owner

oowl commented Apr 16, 2024

Hi, Can you help me check https://github.com/oowl/quicssh-rs/actions/runs/8701995035/job/23865869691? it seems wired in the action environment, The First build is successful, but the next build can not find cargo deb command. @JyJyJcr

@JyJyJcr
Copy link
Collaborator Author

JyJyJcr commented Apr 19, 2024

It seems that binstalled rust software is not restored, but the metadata of binstall is restored. as warning says, we should add --force option to assure the binstallation.

I'll create another PR and fix this. #27

And, please fix the typo of the branch publis to publish, and create pre_publish branch for testing. We can try publishing by push tag test-release*, without break thee published data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants