Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
julianxhokaxhiu committed Oct 20, 2024
0 parents commit b697c9d
Show file tree
Hide file tree
Showing 293 changed files with 61,904 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

** Versions **
[ ] Tested on latest stable version
[ ] Pre-release only bug

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Version: [e.g. 22]
- Build: [e.g. 19042]

**Additional context**
Add any other context about the problem here.
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "nuget"
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
30 changes: 30 additions & 0 deletions .github/workflows/alert.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
$downloadUrl = "https://github.com/tsunamods-codes/Junction-VIII/releases/latest"

if ($env:_IS_BUILD_CANARY -eq "true") {
$downloadUrl = "https://github.com/tsunamods-codes/Junction-VIII/releases/tag/canary"
}

# Initial template from https://discohook.org/
$discordPost = @"
{
"username": "Junction VIII",
"avatar_url": "https://github.com/tsunamods-codes/Junction-VIII/raw/master/.logo/app.png",
"content": "Release **${env:_RELEASE_VERSION}** has just been published!\n\nDownload Url: ${downloadUrl}\n\nIf you find something broken or unexpected, feel free to check existing ones first here https://github.com/tsunamods-codes/Junction-VIII/issues.\nIf non existing, then report your issue here https://github.com/tsunamods-codes/Junction-VIII/issues/new.\n\nThank you for using Junction VIII!",
"embeds": [
{
"title": "FAQ",
"description": "Having issues? Feel free to check this FAQ page: https://forum.tsunamods.com/viewtopic.php?f=16&t=60",
"color": 7506394
},
{
"title": "Junction VIII is FOSS Software!",
"description": "Junction VIII is released under MS-PL license. More info here: https://github.com/tsunamods-codes/Junction-VIII#license",
"color": 15746887
}
]
}
"@

Invoke-RestMethod -Uri $env:_MAP_J8_INTERNAL -ContentType "application/json" -Method Post -Body $discordPost
Invoke-RestMethod -Uri $env:_MAP_J8_QHIMM -ContentType "application/json" -Method Post -Body $discordPost
Invoke-RestMethod -Uri $env:_MAP_J8_TSUNAMODS -ContentType "application/json" -Method Post -Body $discordPost
134 changes: 134 additions & 0 deletions .github/workflows/main-1.0.0.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name: Junction-VIII

run-name: 1.0.0.${{ github.run_number }}

on:
workflow_dispatch:
push:
branches:
- master
tags:
- "*"
pull_request:
branches:
- master

env:
_IS_BUILD_CANARY: false
_IS_GITHUB_RELEASE: false
_RELEASE_NAME: JunctionVIII
_RELEASE_VERSION: v0
_RELEASE_CONFIGURATION: Release
_BUILD_BRANCH: "${{ github.ref }}"
_BUILD_VERSION: "1.0.0.${{ github.run_number }}"
_CHANGELOG_VERSION: "0"
# VCPKG: Enable Binary Caching
VCPKG_BINARY_SOURCES: clear;nuget,github,readwrite
# GIT: Fix reporting from stderr to stdout
GIT_REDIRECT_STDERR: 2>&1

jobs:
CICD:
runs-on: windows-latest
timeout-minutes: 1440
strategy:
max-parallel: 1
steps:
- name: Set Git Config
run: |
git config --global core.autocrlf false
git config --global core.filemode false
git config --global core.longpaths true
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Prepare Environment
run: ".github/workflows/prepare.ps1"
shell: pwsh
env:
GITHUB_PACKAGES_PAT: ${{ secrets.GITHUB_TOKEN }}
- name: Set versions in AssemblyInfo.cs
id: set-assembly-version
uses: tsunamods-codes/assemblyinfo-update@main
with:
version: "${{ env._BUILD_VERSION }}"
recursive: true
- name: Restore NuGet Packages
run: nuget restore ${{ github.workspace }}\${{ env._RELEASE_NAME }}.sln
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1
- name: Run MSBuild
run: msbuild ${{ github.workspace }}\${{ env._RELEASE_NAME }}.sln /p:WindowsTargetPlatformVersion=10.0.19041.0 /m -p:Configuration=${{ env._RELEASE_CONFIGURATION }} -p:Platform="Any CPU"
- name: Prepare Installer
env:
BUILDPATH: "${{ github.workspace }}"
run: "${{ github.workspace }}\\.iss\\build.ps1"
shell: pwsh
- name: VirusTotal Scan
id: vt-scan
if: env._IS_GITHUB_RELEASE == 'true' && success()
uses: crazy-max/ghaction-virustotal@v4
with:
vt_api_key: ${{ secrets._VT_API_KEY }}
files: ".dist/*.exe"
- name: Parse VirusTotal Results
id: vt-res
if: env._IS_GITHUB_RELEASE == 'true' && success()
uses: actions/github-script@v7
with:
result-encoding: string
script: |
let ret = `${{ steps.vt-scan.outputs.analysis }}`;
ret = '- ' + ret
.replaceAll('.dist/','')
.replaceAll('=h', ': h')
.replaceAll(',', "\n- ");
console.log('Results:');
console.log(ret);
return ret;
- name: Publish PR artifacts
if: env._IS_GITHUB_RELEASE == 'false' && success()
uses: actions/upload-artifact@v4
with:
name: "${{ env._RELEASE_NAME }}-${{ env._RELEASE_VERSION }}"
path: ".dist/*"
- name: Publish Canary release
uses: ncipollo/release-action@v1
if: env._IS_GITHUB_RELEASE == 'true' && env._IS_BUILD_CANARY == 'true' && success()
with:
artifacts: ".dist/*"
allowUpdates: true
generateReleaseNotes: true
prerelease: true
removeArtifacts: true
tag: canary
name: "${{ env._RELEASE_NAME }}-${{ env._RELEASE_VERSION }}"
body: |
This is a canary build. Please be aware it may be prone to crashing and is NOT tested by anyone. Use this build AT YOUR OWN RISK!
🛡️ **VirusTotal analysis:**
${{ steps.vt-res.outputs.result }}
- name: Publish Stable release
uses: ncipollo/release-action@v1
if: env._IS_GITHUB_RELEASE == 'true' && env._IS_BUILD_CANARY == 'false' && success()
with:
artifacts: ".dist/*"
generateReleaseNotes: true
makeLatest: true
removeArtifacts: true
name: "${{ env._RELEASE_NAME }}-${{ env._RELEASE_VERSION }}"
body: |
🛡️ **VirusTotal analysis:**
${{ steps.vt-res.outputs.result }}
- name: Send alerts
if: env._IS_GITHUB_RELEASE == 'true' && success()
env:
_MAP_J8_INTERNAL: "${{ secrets._J8_INTERNAL }}"
_MAP_J8_QHIMM: "${{ secrets._J8_QHIMM }}"
_MAP_J8_TSUNAMODS: "${{ secrets._J8_TSUNAMODS }}"
run: ".github/workflows/alert.ps1"
shell: pwsh
41 changes: 41 additions & 0 deletions .github/workflows/prepare.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
if ($env:_BUILD_BRANCH -eq "refs/heads/master" -Or $env:_BUILD_BRANCH -eq "refs/tags/canary") {
$env:_IS_BUILD_CANARY = "true"
$env:_IS_GITHUB_RELEASE = "true"
}
elseif ($env:_BUILD_BRANCH -like "refs/tags/*") {
$env:_BUILD_VERSION = $env:_BUILD_VERSION.Substring(0, $env:_BUILD_VERSION.LastIndexOf('.')) + ".0"
$env:_IS_GITHUB_RELEASE = "true"
}
$env:_RELEASE_VERSION = "v${env:_BUILD_VERSION}"

$vcpkgRoot = "C:\vcpkg"
$vcpkgBaseline = [string](jq --arg baseline "builtin-baseline" -r '.[$baseline]' AppLoader/vcpkg.json)
$vcpkgOriginUrl = &"git" -C $vcpkgRoot remote get-url origin
$vcpkgBranchName = &"git" -C $vcpkgRoot branch --show-current

Write-Output "--------------------------------------------------"
Write-Output "BUILD CONFIGURATION: $env:_RELEASE_CONFIGURATION"
Write-Output "RELEASE VERSION: $env:_RELEASE_VERSION"
Write-Output "VCPKG ORIGIN: $vcpkgOriginUrl"
Write-Output "VCPKG BRANCH: $vcpkgBranchName"
Write-Output "VCPKG BASELINE: $vcpkgBaseline"
Write-Output "--------------------------------------------------"

Write-Output "_BUILD_VERSION=${env:_BUILD_VERSION}" >> ${env:GITHUB_ENV}
Write-Output "_RELEASE_VERSION=${env:_RELEASE_VERSION}" >> ${env:GITHUB_ENV}
Write-Output "_IS_BUILD_CANARY=${env:_IS_BUILD_CANARY}" >> ${env:GITHUB_ENV}
Write-Output "_IS_GITHUB_RELEASE=${env:_IS_GITHUB_RELEASE}" >> ${env:GITHUB_ENV}

# Add Github Packages registry
nuget sources add -Name github -Source "https://nuget.pkg.github.com/${env:GITHUB_REPOSITORY_OWNER}/index.json" -Username ${env:GITHUB_REPOSITORY_OWNER} -Password ${env:GITHUB_PACKAGES_PAT} -StorePasswordInClearText
nuget setApiKey ${env:GITHUB_PACKAGES_PAT} -Source "https://nuget.pkg.github.com/${env:GITHUB_REPOSITORY_OWNER}/index.json"
nuget sources list

# Vcpkg setup
git -C $vcpkgRoot pull --all
git -C $vcpkgRoot checkout $vcpkgBaseline
git -C $vcpkgRoot clean -fxd

cmd.exe /c "call $vcpkgRoot\bootstrap-vcpkg.bat"

vcpkg integrate install
Loading

0 comments on commit b697c9d

Please sign in to comment.