Skip to content

Add release

Add release #21

Workflow file for this run

name: Build and Release Debian Package
on:
push:
branches:
- morteza/debian
pull_request:
branches:
- morteza/debian
jobs:
build:
runs-on: ubuntu-24.04
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Set up dependencies
run: |
sudo apt-get update
sudo apt-get install -y dpkg-dev build-essential lintian fakeroot devscripts cmake libssl-dev libboost-all-dev libyaml-cpp-dev
- name: Build the package
run: |
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j$(nproc)
cd ..
mkdir -p nipovpn/usr/bin/
cp build/core/nipovpn nipovpn/usr/bin/nipovpn
dpkg-deb --build nipovpn/ build/nipovpn.deb
- name: Upload the Debian nipovpn as an artifact
uses: actions/upload-artifact@v3
with:
name: nipovpn
path: build/nipovpn.deb
- name: Show nipovpn information
run: |
dpkg -I build/nipovpn.deb
release:
needs: build # This ensures that the release job runs after the build job
runs-on: ubuntu-latest
steps:
- name: Download build artifact
uses: actions/download-artifact@v3
with:
name: nipovpn
path: ./ # Download the artifact to the current directory
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} # GitHub token to authenticate the release
with:
tag_name: 'v1.0.${{ github.run_number }}' # Example versioning
release_name: Release ${{ github.run_number }}
draft: false
prerelease: false
- name: List build directory contents
run: ls -la build
- name: List build directory contents
run: ls -la
- name: Upload Debian Package to Release
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./nipovpn.deb
asset_name: nipovpn.deb
asset_content_type: application/octet-stream