Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
thomaslepoix committed May 31, 2021
2 parents bc45f0f + 756f186 commit be19dc8
Show file tree
Hide file tree
Showing 6 changed files with 147 additions and 42 deletions.
125 changes: 125 additions & 0 deletions .github/workflows/release-debian.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: Release Debian

on:
workflow_dispatch:

env:
PACKAGE: qucsrflayout
OBS_USER: thomaslepoix
OBS_PROJECT: home:${OBS_USER}:open-rflab

jobs:
run:
runs-on: ubuntu-latest

steps:
- name: Dependencies
run: |
sudo apt update
sudo apt install -y dpkg-dev
- name: Checkout
uses: actions/checkout@v2
with:
ref: debian

- name: Extract tag
id: extract
shell: bash
run: |
echo "##[set-output name=version;]$( \
head debian/changelog -n 1 \
| awk '{print $2}' \
| sed -e 's/(//g' -e 's/)//g' \
| awk -F - '{print $1}' \
)"
echo "##[set-output name=revision;]$( \
head debian/changelog -n 1 \
| awk '{print $2}' \
| sed -e 's/(//g' -e 's/)//g' \
| awk -F - '{print $2}' \
)"
- name: Download & fix origin tarball
run: |
REPO=$(echo ${GITHUB_REPOSITORY} | sed "s/${GITHUB_ACTOR}\///g")
wget \
${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/archive/refs/tags/${{ steps.extract.outputs.version }}.tar.gz \
-O ${REPO}_${{ steps.extract.outputs.version }}.orig.tar.gz
tar -xzvf ${REPO}_${{ steps.extract.outputs.version }}.orig.tar.gz
mv \
${REPO}-${{ steps.extract.outputs.version }} \
${{ env.PACKAGE }}-${{ steps.extract.outputs.version }}
tar -czvf \
${{ env.PACKAGE }}_${{ steps.extract.outputs.version }}.orig.tar.gz \
${{ env.PACKAGE }}-${{ steps.extract.outputs.version }}
rm ${REPO}_${{ steps.extract.outputs.version }}.orig.tar.gz
- name: Untar & debianize
run: |
tar -xzvf ${{ env.PACKAGE }}_${{ steps.extract.outputs.version }}.orig.tar.gz
mv debian ${{ env.PACKAGE }}-${{ steps.extract.outputs.version }}
- name: Package
run: dpkg-source -b ${{ env.PACKAGE }}-${{ steps.extract.outputs.version }}

- name: Remove old source package on OBS
run: |
INFOS="$( \
curl \
--user ${{ env.OBS_USER }}:${{ secrets.OBS_PASSWORD }} \
https://api.opensuse.org/source/${{ env.OBS_PROJECT }}/${{ env.PACKAGE }}/)"
OLD_DSC="$( \
echo "${INFOS}" \
| grep .dsc \
| awk '{print $2}' \
| sed -e 's/name="//g' -e 's/"$//g' \
)"
OLD_DEBIAN_TXZ="$( \
echo "${INFOS}" \
| grep .debian.tar.xz \
| awk '{print $2}' \
| sed -e 's/name="//g' -e 's/"$//g' \
)"
OLD_ORIG_TGZ="$( \
echo "${INFOS}" \
| grep .orig.tar.gz \
| awk '{print $2}' \
| sed -e 's/name="//g' -e 's/"$//g' \
)"
if [ "${OLD_DSC}" ]
then curl \
--user ${{ env.OBS_USER }}:${{ secrets.OBS_PASSWORD }} \
-X DELETE https://api.opensuse.org/source/${{ env.OBS_PROJECT }}/${{ env.PACKAGE }}/${OLD_DSC}
fi
if [ "${OLD_DEBIAN_TXZ}" ]
then curl \
--user ${{ env.OBS_USER }}:${{ secrets.OBS_PASSWORD }} \
-X DELETE https://api.opensuse.org/source/${{ env.OBS_PROJECT }}/${{ env.PACKAGE }}/${OLD_DEBIAN_TXZ}
fi
if [ "${OLD_ORIG_TGZ}" ]
then curl \
--user ${{ env.OBS_USER }}:${{ secrets.OBS_PASSWORD }} \
-X DELETE https://api.opensuse.org/source/${{ env.OBS_PROJECT }}/${{ env.PACKAGE }}/${OLD_ORIG_TGZ}
fi
- name: Deploy source package on OBS
run: |
FILES={
FILES+=${{ env.PACKAGE }}_${{ steps.extract.outputs.version }}-${{ steps.extract.outputs.revision }}.dsc,
FILES+=${{ env.PACKAGE }}_${{ steps.extract.outputs.version }}-${{ steps.extract.outputs.revision }}.debian.tar.xz,
FILES+=${{ env.PACKAGE }}_${{ steps.extract.outputs.version }}.orig.tar.gz
FILES+=}
curl \
--user ${{ env.OBS_USER }}:${{ secrets.OBS_PASSWORD }} \
https://api.opensuse.org/source/${{ env.OBS_PROJECT }}/${{ env.PACKAGE }}/ \
-T "${FILES}"
- name: Upload source package as artifact
uses: actions/upload-artifact@v2
with:
name: source-package
path: |
${{ env.PACKAGE }}_${{ steps.extract.outputs.version }}-${{ steps.extract.outputs.revision }}.dsc
${{ env.PACKAGE }}_${{ steps.extract.outputs.version }}-${{ steps.extract.outputs.revision }}.debian.tar.xz
${{ env.PACKAGE }}_${{ steps.extract.outputs.version }}.orig.tar.gz
12 changes: 0 additions & 12 deletions .github/workflows/release-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,18 +43,6 @@ jobs:
- name: Package
run: cmake --build build --target package

- name: Deploy .deb on Bintray
run: |
curl \
-T build/out/qucsrflayout_${GITHUB_REF##*/}_amd64.deb \
--user thomaslepoix:${{ secrets.BINTRAY_API_KEY }} \
https://api.bintray.com/content/open-rflab/debian/${{ env.PACKAGE_NAME }}/${GITHUB_REF##*/}/pool/q/${{ env.PACKAGE_NAME }}/qucsrflayout_${GITHUB_REF##*/}+${{ matrix.os.deb }}_amd64.deb \
-H 'X-Bintray-Debian-Distribution: ${{ matrix.os.distro }}' \
-H 'X-Bintray-Debian-Component: main' \
-H 'X-Bintray-Debian-Architecture: amd64' \
-H 'X-Bintray-Publish: 1' \
-H 'X-Bintray-Override: 1'
- name: Extract informations
id: extract
shell: bash
Expand Down
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ cmake_minimum_required( VERSION 3.12 )

project( qucsrflayout
LANGUAGES CXX
VERSION 2.0.0
VERSION 2.0.1
DESCRIPTION "A tool to produce layout from qucs RF schematics (microstrip only for now)"
# HOMEPAGE_URL "https://github.com/thomaslepoix/Qucs-RFlayout"
)
Expand Down Expand Up @@ -231,4 +231,3 @@ endif( WIN32 )
add_subdirectory( "${CMAKE_SOURCE_DIR}/doc" )
add_subdirectory( "${CMAKE_SOURCE_DIR}/test" )
add_subdirectory( "${CMAKE_SOURCE_DIR}/pack" )

44 changes: 19 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
[![LGTM alerts](https://img.shields.io/lgtm/alerts/g/thomaslepoix/Qucs-RFlayout.svg?logo=lgtm)](https://lgtm.com/projects/g/thomaslepoix/Qucs-RFlayout/alerts/)
[![LGTM grade](https://img.shields.io/lgtm/grade/cpp/g/thomaslepoix/Qucs-RFlayout.svg?logo=lgtm)](https://lgtm.com/projects/g/thomaslepoix/Qucs-RFlayout/context:cpp)

[![Package Debian](https://img.shields.io/github/workflow/status/thomaslepoix/Qucs-RFlayout/Release%20Debian?label=package&logo=debian)](https://software.opensuse.org/download.html?project=home:thomaslepoix:open-rflab&package=qucsrflayout)

# Qucs-RFlayout

A tool to produce layouts from Qucs RF schematic (microstrip only for now)
Expand Down Expand Up @@ -87,46 +89,38 @@ This software is a part of the [Open-RFlab](https://github.com/Open-RFlab/Open-R
- [OpenEMS](https://openems.de/index.php/OpenEMS#Installation) (`octave-openems` package available on Debian 10 based distros, `octave-openEMS` on openSUSE)
- [ImageMagick](https://imagemagick.org/script/download.php) (packages available on most distros)

### Binary installation
### Package installation

- For Debian based distributions, a repository is available :
- For Debian based distributions, a [repository](https://software.opensuse.org/download.html?project=home:thomaslepoix:open-rflab&package=qucsrflayout) is available :

```sh
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key --keyring /etc/apt/trusted.gpg.d/open-rflab.gpg add -
echo "deb https://dl.bintray.com/open-rflab/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/open-rflab.list
DEBIAN=Debian_10 # Use the underlying Debian version of your Debian-based distro

echo "deb http://download.opensuse.org/repositories/home:/thomaslepoix:/open-rflab/${DEBIAN}/ /" | sudo tee /etc/apt/sources.list.d/home:thomaslepoix:open-rflab.list
curl -fsSL https://download.opensuse.org/repositories/home:thomaslepoix:open-rflab/${DEBIAN}/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_thomaslepoix_open-rflab.gpg > /dev/null

sudo apt-get update
sudo apt-get install qucsrflayout
sudo apt update
sudo apt install qucsrflayout
```

- For RPM based distributions and Windows, you can download packages [here](https://github.com/thomaslepoix/Qucs-RFlayout/releases).

### Build from sources
### Installation from sources

- Install build dependencies :
- Debian way : Take a look [on the debian branch](https://github.com/thomaslepoix/Qucs-RFlayout/tree/debian).

```sh
sudo apt-get install qt5-default libqt5opengl5-dev texlive-xetex fonts-lato # Debian
```
- Classic way :

- Build :
The build-time dependencies are the following on Debian, check equivalents on your own (reports are welcome) for non Debian-based distros :

`qt5-default`, `libqt5opengl5-dev`, `texlive-xetex`, `fonts-lato`

```sh
Qucs-RFlayout $

mkdir build && cd build

cmake ..
make
make doc

# Prefered way : use your packet manager
make package
sudo apt-get install ./qucsrflayout_*.deb # Debian
sudo dnf install ./qucsrflayout-*.rpm # Fedora

# Classic way : install manually
sudo make install
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build
sudo cmake --build build --target install
```

<br>
Expand Down
3 changes: 1 addition & 2 deletions cmake/FixedShell.cmake
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# In a command such as add_test(), add_custom_target(), etc.
# The pattern `COMMAND <bin> <arg> <arg>` has some oddities, for example
# `2> /dev/null` does not work properly. Instead you can prefer this pattern
# `COMMAND ${FIXED_SHELL} "<bin> <arg> <arg>`
# `COMMAND ${FIXED_SHELL} "<bin> <arg> <arg>"`
################################################################################

set( FIXED_SHELL ${CMAKE_COMMAND} -E env bash -c )

2 changes: 1 addition & 1 deletion test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ target_compile_definitions( unittest

target_compile_features( unittest
PRIVATE
cxx_std_11
cxx_std_14
)

target_compile_options( unittest
Expand Down

0 comments on commit be19dc8

Please sign in to comment.