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

Sync branch #24

Merged
merged 35 commits into from
Jul 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
8161722
Merge pull request #12 from derskythe/master
derskythe Mar 28, 2023
c5fd9e5
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
7d61b21
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
1ce9d70
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
523d5b4
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
72bf716
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
09e4d4a
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
9326a9c
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
f061a8c
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
5f43a8f
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
6584f70
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
95a5914
Merge pull request #13 from derskythe/feat/ci
derskythe Mar 28, 2023
56f8c73
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
abe9862
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
02618f6
feat: moved to pwsh scripts from yaml and fix invalid new version number
derskythe Mar 28, 2023
6d6f174
fix: pwsh script
derskythe Mar 28, 2023
c948693
Merge remote-tracking branch 'origin/feat/ci' into feat/ci
derskythe Mar 28, 2023
bdb3907
Merge pull request #14 from derskythe/feat/ci
derskythe Mar 28, 2023
431c374
fix: calling pwsh script
derskythe Mar 28, 2023
22ccbee
setup calling pwsh and fixing ps1 script
derskythe Mar 28, 2023
506b6bc
Add action to create releases
derskythe Mar 31, 2023
869eb28
Merge pull request #15 from derskythe/feat/ci
derskythe Mar 31, 2023
f4f669b
Disable useless out of action
derskythe Mar 31, 2023
78f0feb
Add RELEASE_VERSION to env vars to disable warnings
derskythe Mar 31, 2023
b384bdb
Change trigger on build firmware and
derskythe Mar 31, 2023
a585c6b
Merge pull request #16 from derskythe/feat/ci
derskythe Mar 31, 2023
ba3ce17
fix update new version of firmware
derskythe Mar 31, 2023
98d59aa
Merge pull request #17 from derskythe/feat/ci
derskythe Mar 31, 2023
6f034d5
Do not add repeats in saved file
xMasterX Apr 4, 2023
df12fcd
Fix forgotten repeats
xMasterX Apr 4, 2023
c94efdf
Global radio fixes
xMasterX Apr 23, 2023
d131739
Increase delay just a little bit
xMasterX May 13, 2023
16f94c1
Fix appid to match new regex
xMasterX Jun 2, 2023
c558147
Fix appid pt2
xMasterX Jun 2, 2023
d024183
Update v3.6
xMasterX Jun 9, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions .github/actions/make-release/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
name: "Action release"
description: "Steps to build release"
author: "DerSkythe"

inputs:
release_type:
description: 'release_type'
required: true
release_version:
description: 'release_version'
required: true
firmware_version:
description: 'firmware_version'
required: true
repo_self:
description: 'REPO_SELF'
required: true
gh_token:
description: 'github_gh_token'
required: true
owner:
description: 'owner'
required: true
current_tag:
description: 'current_tag'
required: true
remote_tag_info:
description: 'remote_tag_info'
required: true

# outputs:
# make-minor-release:
# description: "make-minor-release"
# value: ${{ steps.make-minor-release.outputs }}
# make-major-release:
# description: "make-minor-release"
# value: ${{ steps.make-major-release.outputs }}

runs:
using: "composite"
steps:
- name: Minor release
if: ${{ inputs.release_type == 2 }}
id: make-minor-release
uses: softprops/action-gh-release@v1
with:
tag_name: 'v${{ inputs.release_version }}'
name: 'Minor update v${{ inputs.release_version }}'
token: ${{ inputs.gh_token }}
draft: true
generate_release_notes: true
#target_commitish: ${{ github.SHA }}
append_body: true
body: 'Rebuild with new version of firmware.\n\nSee: [CHANGELOG](${{ inputs.firmware_version }}/blob/dev/CHANGELOG.md)\n${{ inputs.remote_tag_info }}'
repository: '${{ inputs.repo_self }}'

- name: Major release
if: ${{ inputs.release_type == 1 }}
id: make-major-release
uses: softprops/action-gh-release@v1
with:
tag_name: 'v${{ inputs.release_version }}'
name: Release v${{ inputs.release_version }}
token: ${{ inputs.gh_token }}
draft: true
generate_release_notes: true
#target_commitish: ${{ github.SHA }}
append_body: true
body: 'New version is rolling out!'
repository: '${{ inputs.repo_self }}'

- name: Update Firmware variable and create UPDATE release if necessary
if: ${{ success() }}
env:
GITHUB_TOKEN: ${{ inputs.gh_token }}
OWNER: ${{ inputs.owner }}
shell: bash
run: |
gh variable set FIRMWARE_VERSION -b '${{ inputs.firmware_version }}' -R '${{ inputs.repo_self }}'
gh variable set RELEASE_VERSION -b '${{ inputs.release_version }}' -R '${{ inputs.repo_self }}'
141 changes: 141 additions & 0 deletions .github/check-version.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
########################################
Set-StrictMode -Version 3.0 #
$ErrorActionPreference = "Stop" #
########################################

[string]$FirmwareVersion = $args[0]
[string]$ReleaseVersion = $args[1]
[string]$RepoSelf = $args[2]
[string]$RepoUnleashed = $args[3]
[bool]$ForGithubActions = $true

################################################################################################################################
function CleanInput
{
param(
[string]
$DurtyString
)
return $DurtyString -replace ('[^a-zA-Z\d_\-\,\.\t\n\r\:\;]', '')
}

################################################################################################################################

$Output = @{
RELEASE_VERSION = $ReleaseVersion
CURRENT_TAG = $FirmwareVersion
REMOTE_TAG_INFO = $FirmwareVersion
RELEASE_TYPE = 0
}

$Release = @(`
(CleanInput `
(gh release list -L 1 --repo $RepoUnleashed)`
) -split "`t")

$FirmwareVersionNumber = 0
$StoredFirmwareVersionNumber = 0
$LatestFirmware = $Release[2]
if ($Release[2] -match '\-(\d+)$')
{
$FirmwareVersionNumber = [int]($Matches[1])
}
else
{
Write-Error ('::error title=Invalid firmware number::Error during execution this tags {0}' -f $FirmwareVersionNumber)
exit 1
}
if ($FirmwareVersion -match '\-(\d+)$')
{
$StoredFirmwareVersionNumber = [int]($Matches[1])
}
else
{
Write-Error ('::error title=Invalid STORED firmware number::Error during execution this version {0}' -f $FirmwareVersion)
exit 1
}
$Delta = ( [DateTime]::Now - [DateTime]::Parse($Release[3]))
Write-Host "FirmwareVersionNumber: $FirmwareVersionNumber, Delta: $Delta"
#exit 0

$NewVersionFw = $false
Write-Host ('Latest firmware {0}' -f $FirmwareVersionNumber)

$Output.REMOTE_TAG_INFO = Write-Host ('[{0}]({1}/releases/tag/{2})' `
-f $LatestFirmware, $RepoUnleashed, $LatestFirmware)
if (($FirmwareVersionNumber -gt $StoredFirmwareVersionNumber) -and ( $Delta -gt [TimeSpan]::FromMinutes(10)))
{
$Output.REMOTE_TAG_INFO = $LatestFirmware
$NewVersionFw = $true
}
elseif ($FirmwareVersionNumber -lt $StoredFirmwareVersionNumber)
{
Write-Error ('::error title=Invalid check of stored::Version in repo: {0}, but we think it is {1}' `
-f $FirmwareVersionNumber, $StoredFirmwareVersionNumber)
exit 1
}

$PublishDates = (gh api -H "Accept: application/vnd.github+json" `
-H "X-GitHub-Api-Version: 2022-11-28" "/repos/$( $RepoSelf )/releases?per_page=1" `
| ConvertFrom-Json | Select-Object published_at, created_at)
$LastPublished = ($null -eq $PublishDates.published_at ? $PublishDates.created_at : $PublishDates.published_at)
$Delta = ([DateTime]::Now - $LastPublished)

$Release = (gh api -H "Accept: application/vnd.github+json" `
-H "X-GitHub-Api-Version: 2022-11-28" "/repos/$( $RepoSelf )/tags?per_page=1" `
| ConvertFrom-Json).name
Write-Host ('Release {0}' -f $Release) -ForegroundColor Gray -BackgroundColor Blue
$LatestTag = $Release.Substring(1)

$CurrentVersion = [version]::Parse($ReleaseVersion)
$ParsedRepoVersion = [version]::Parse($LatestTag)

Write-Host ('Current tag:Repos tag {0}, {1}' -f $CurrentVersion, $ParsedRepoVersion) `
-ForegroundColor Gray -BackgroundColor Blue
Write-Debug ('::debug Current tag:Repos tag {0}, {1}' -f $CurrentVersion, $ParsedRepoVersion)

if (($CurrentVersion -lt $ParsedRepoVersion) -and ( $Delta -gt [TimeSpan]::FromMinutes(10)))
{
$Tag = ('{0}.{1}.{2}' -f $ParsedRepoVersion.Major, $ParsedRepoVersion.Minor, $ParsedRepoVersion.Build)

$Output.RELEASE_VERSION = $Tag
$Output.RELEASE_TYPE = 2

Write-Host ('::warning title=New release!::Release {0}' -f $Tag)
}
elseif ( $NewVersionFw )
{
$Tag = ('{0}.{1}.{2}' -f $CurrentVersion.Major, $CurrentVersion.Minor, ($CurrentVersion.Build + 1))

$Output.RELEASE_VERSION = $Tag
$Output.RELEASE_TYPE = 1

Write-Host ('::warning title=Firmware was changed!::New version is {0}, need to create release {1}' -f $LatestFirmware, $Tag)
}
elseif ( ($Delta -gt [TimeSpan]::FromMinutes(10)) -and ($CurrentVersion -gt $ParsedRepoVersion))
{
Write-Host ('::warning title=Invalid version!::Version in settings: {0}, but repo version is {1}. Going to change variable' `
-f $CurrentVersion, $ParsedRepoVersion)

$Output.RELEASE_VERSION = $ParsedRepoVersion
$Output.RELEASE_TYPE = 3
}
else
{
# none to release
Write-Host 'No new versions, sorry'
}

$Output.CURRENT_TAG = $LatestTag

if($ForGithubActions) {
$Plain = New-Object -TypeName "System.Text.StringBuilder";
$Output.GetEnumerator() | ForEach-Object {
[void]$Plain.Append($_.Key)
[void]$Plain.Append('=')
[void]$Plain.AppendLine($_.Value)
}
Write-Output $Plain.ToString()
} else {
$Output
}
7 changes: 4 additions & 3 deletions .github/workflows/build-with-firmwware.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
required: false
type: string
release:
types: [unpublished]
types: [created]
push:
paths:
- .github/workflows/build-with-firmware.yml
Expand All @@ -30,6 +30,7 @@ jobs:
IGNORED_PATH: "applications_user/subbrute"
RELATIVE_PATH: "applications/external/subbrute"
CURRENT_VERSION: ${{ vars.RELEASE_VERSION }}
RELEASE_VERSION: ${{ vars.RELEASE_VERSION }}
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -156,8 +157,8 @@ jobs:
if: ${{ success() }}
shell: pwsh
env:
ZIP_NAME: "SubGHz_Bruteforcer_${{ env.RELEASE_VERSION }}_${{ matrix.firmware }}.zip"
TGZ_NAME: "SubGHz_Bruteforcer_${{ env.RELEASE_VERSION }}_${{ matrix.firmware }}.tgz"
ZIP_NAME: "subghz_bruteforcer_${{ env.RELEASE_VERSION }}_${{ matrix.firmware }}.zip"
TGZ_NAME: "subghz_bruteforcer_${{ env.RELEASE_VERSION }}_${{ matrix.firmware }}.tgz"
run: |
function Format-Bytes {
param(
Expand Down
Loading