Skip to content

Commit

Permalink
Create DEB auto-packaging
Browse files Browse the repository at this point in the history
Create MSI auto-packaging
  • Loading branch information
Karasiq committed Apr 21, 2020
1 parent 9029c98 commit 92f47c3
Show file tree
Hide file tree
Showing 196 changed files with 608 additions and 756 deletions.
37 changes: 37 additions & 0 deletions .github/workflows/create-deb.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Build DEB

on:
push:
branches: [ master ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get version
id: version
run: |
git fetch --prune --unshallow
git checkout master
export git_message=$(git log -1 --pretty=%B)
version_msg_regex='Version ([0-9]+\.[0-9]+\.?[0-9]*).*'
if [[ $git_message =~ $version_msg_regex ]]; then
export version="${BASH_REMATCH[1]}"
else
export version_tag=$(git describe --tags --abbrev=0)
export version="${version_tag:1}"
fi
echo "::set-output name=version::$version"
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
java-package: jdk+fx
- name: Package DEB
run: JAVA_OPTS="-Xmx4G -Denable-tika=1 -Denable-javacv=1" sbt desktopApp/jdkPackager:packageBin
- name: Upload artifact
uses: actions/upload-artifact@v2-preview
with:
name: shadowcloud-${{steps.version.outputs.version}}.deb
path: ${{github.workspace}}/desktop-app/target/universal/jdkpackager/bundles/shadowcloud-${{steps.version.outputs.version}}.deb
40 changes: 40 additions & 0 deletions .github/workflows/create-msi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Build EXE

on:
push:
branches: [ master ]

jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Get version
id: version
run: |
git fetch --prune --unshallow
git checkout master
$GitMessage = (git log -1 --pretty=%B) | Out-String
$VersionMsgRegex = "Version ([0-9]+\.[0-9]+\.?[0-9]*)\s*"
if ($GitMessage -match $VersionMsgRegex) {
$Version = $Matches[1]
} else {
$VersionTag = (git describe --tags --abbrev=0) | Out-String
$Version = $VersionTag.SubString(1)
}
Write-Output "::set-output name=version::$Version"
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
java-package: jdk+fx
- name: Package EXE
run: |
$env:JAVA_OPTS="-Xmx4G -Denable-tika=1 -Denable-javacv=1"
sbt desktopApp/jdkPackager:packageBin
- name: Upload artifact
uses: actions/upload-artifact@v2-preview
with:
name: shadowcloud-${{steps.version.outputs.version}}.exe
path: ${{github.workspace}}/desktop-app/target/universal/jdkpackager/bundles/shadowcloud-${{steps.version.outputs.version}}.exe
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,32 @@ package com.karasiq.shadowcloud.test.actors

import java.nio.file.Files

import scala.collection.concurrent.TrieMap
import scala.concurrent.duration._
import scala.language.postfixOps

import akka.actor.PoisonPill
import akka.pattern.ask
import akka.stream.scaladsl.{Keep, Source}
import akka.stream.testkit.scaladsl.{TestSink, TestSource}
import akka.util.ByteString
import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution}

import com.karasiq.common.encoding.{Base64, HexString}
import com.karasiq.shadowcloud.actors._
import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath
import com.karasiq.shadowcloud.actors.RegionDispatcher.{GetFileAvailability, ReadChunk, WriteChunk}
import com.karasiq.shadowcloud.actors._
import com.karasiq.shadowcloud.actors.events.StorageEvents
import com.karasiq.shadowcloud.actors.messages.StorageEnvelope
import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath
import com.karasiq.shadowcloud.index.IndexData
import com.karasiq.shadowcloud.index.diffs.{FolderIndexDiff, IndexDiff}
import com.karasiq.shadowcloud.storage._
import com.karasiq.shadowcloud.storage.props.StorageProps
import com.karasiq.shadowcloud.storage.props.StorageProps.Quota
import com.karasiq.shadowcloud.storage.replication.ChunkWriteAffinity
import com.karasiq.shadowcloud.storage.repository.{PathTreeRepository, Repository}
import com.karasiq.shadowcloud.storage.repository.wrappers.PathNodesMapper
import com.karasiq.shadowcloud.storage.utils.{IndexIOResult, IndexMerger, IndexRepositoryStreams}
import com.karasiq.shadowcloud.storage.repository.{PathTreeRepository, Repository}
import com.karasiq.shadowcloud.storage.utils.IndexMerger.RegionKey
import com.karasiq.shadowcloud.storage.utils.{IndexIOResult, IndexMerger, IndexRepositoryStreams}
import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, SCExtensionSpec, TestUtils}
import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution}

import scala.collection.concurrent.TrieMap
import scala.concurrent.duration._

// Uses local filesystem
class RegionDispatcherTest extends SCExtensionSpec with FlatSpecLike with SequentialNestedSuiteExecution {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
package com.karasiq.shadowcloud.test.actors

import scala.concurrent.duration._
import scala.language.postfixOps

import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution}
import org.scalatest.concurrent.PatienceConfiguration.Timeout

import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath
import com.karasiq.shadowcloud.actors.RegionGC.GCStrategy
import com.karasiq.shadowcloud.index.diffs.IndexDiff
import com.karasiq.shadowcloud.storage.props.StorageProps
import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, SCExtensionSpec}
import org.scalatest.concurrent.PatienceConfiguration.Timeout
import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution}

import scala.concurrent.duration._

class RegionGCTest extends SCExtensionSpec with FlatSpecLike with SequentialNestedSuiteExecution {
val testRegionId = "regionGCTest"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
package com.karasiq.shadowcloud.test.actors

import scala.concurrent.duration._
import scala.language.postfixOps

import akka.stream.scaladsl.Keep
import akka.stream.testkit.scaladsl.{TestSink, TestSource}
import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution}

import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath
import com.karasiq.shadowcloud.config.ConfigProps
import com.karasiq.shadowcloud.storage.props.StorageProps
import com.karasiq.shadowcloud.storage.props.StorageProps.Quota
import com.karasiq.shadowcloud.storage.replication.ChunkWriteAffinity
import com.karasiq.shadowcloud.streams.region.RegionRepairStream
import com.karasiq.shadowcloud.test.utils.{SCExtensionSpec, TestUtils}
import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution}

import scala.concurrent.duration._

class RegionRepairTest extends SCExtensionSpec with FlatSpecLike with SequentialNestedSuiteExecution {
val testRegionId = "repairTestRegion"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
package com.karasiq.shadowcloud.test.actors

import scala.concurrent.duration._
import scala.language.postfixOps

import org.scalatest.{FlatSpecLike, Matchers}

import com.karasiq.shadowcloud.actors.RegionSupervisor
import com.karasiq.shadowcloud.actors.internal.RegionTracker
import com.karasiq.shadowcloud.actors.internal.RegionTracker.{RegionStatus, StorageStatus}
import com.karasiq.shadowcloud.actors.utils.ActorState
import com.karasiq.shadowcloud.storage.props.StorageProps
import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, SCExtensionSpec}
import org.scalatest.{FlatSpecLike, Matchers}

import scala.concurrent.duration._

class RegionSupervisorTest extends SCExtensionSpec with FlatSpecLike with Matchers {
import RegionSupervisor._
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
package com.karasiq.shadowcloud.test.config

import scala.concurrent.duration._
import scala.language.postfixOps

import com.karasiq.shadowcloud.config.{RegionConfig, SCConfig, StorageConfig}
import com.karasiq.shadowcloud.model.crypto.HashingMethod
import com.typesafe.config.ConfigFactory
import org.scalatest.{FlatSpec, Matchers}

import com.karasiq.shadowcloud.config.{RegionConfig, SCConfig, StorageConfig}
import com.karasiq.shadowcloud.model.crypto.HashingMethod
import scala.concurrent.duration._

class SCConfigTest extends FlatSpec with Matchers {
val rootConfig = ConfigFactory.load().getConfig("shadowcloud")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,11 @@ package com.karasiq.shadowcloud.test.crypto

import java.security.NoSuchAlgorithmException

import scala.language.postfixOps

import org.scalatest.{FlatSpec, Matchers}

import com.karasiq.shadowcloud.crypto.EncryptionModule
import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, EncryptionParameters}
import com.karasiq.shadowcloud.test.utils.TestUtils
import com.karasiq.shadowcloud.test.utils.CoreTestUtils.modules
import com.karasiq.shadowcloud.test.utils.TestUtils
import org.scalatest.{FlatSpec, Matchers}

class EncryptionModuleTest extends FlatSpec with Matchers {
runTest("", 0, 0)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package com.karasiq.shadowcloud.test.crypto

import scala.language.postfixOps

import akka.util.ByteString
import org.scalatest.{FlatSpec, Matchers}

import akka.util.ByteString
import com.karasiq.shadowcloud.model.crypto.HashingMethod
import com.karasiq.shadowcloud.test.utils.{ByteStringImplicits, CoreTestUtils}
import org.scalatest.{FlatSpec, Matchers}

class HashingModuleTest extends FlatSpec with Matchers with ByteStringImplicits {
val testData = ByteString("The testing facilities described up to this point were aiming at formulating assertions about a system’s behavior. If a test fails, it is usually your job to find the cause, fix it and verify the test again. This process is supported by debuggers as well as logging, where the Akka toolkit offers the following options:")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package com.karasiq.shadowcloud.test.crypto

import scala.language.postfixOps

import org.scalatest.{FlatSpec, Matchers}

import com.karasiq.shadowcloud.crypto.SignModule
import com.karasiq.shadowcloud.model.crypto.{HashingMethod, SignMethod}
import com.karasiq.shadowcloud.test.utils.TestUtils
import com.karasiq.shadowcloud.test.utils.CoreTestUtils.modules
import com.karasiq.shadowcloud.test.utils.TestUtils
import org.scalatest.{FlatSpec, Matchers}

class SignModuleTest extends FlatSpec with Matchers {
val hashingMethod = HashingMethod("SHA-512")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package com.karasiq.shadowcloud.test.index

import scala.language.postfixOps

import org.scalatest.{FlatSpec, Matchers}

import com.karasiq.shadowcloud.index.ChunkIndex
import com.karasiq.shadowcloud.test.utils.CoreTestUtils
import org.scalatest.{FlatSpec, Matchers}

class ChunkIndexTest extends FlatSpec with Matchers {
val chunk = CoreTestUtils.randomChunk
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package com.karasiq.shadowcloud.test.index

import scala.language.postfixOps

import org.scalatest.{FlatSpec, Matchers}

import com.karasiq.shadowcloud.index.FolderIndex
import com.karasiq.shadowcloud.index.diffs.FolderIndexDiff
import com.karasiq.shadowcloud.model.{Folder, Path}
import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, TestUtils}
import org.scalatest.{FlatSpec, Matchers}

class FolderDiffTest extends FlatSpec with Matchers {
val folder1 = CoreTestUtils.randomFolder()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package com.karasiq.shadowcloud.test.index

import scala.language.postfixOps

import org.scalatest.{FlatSpec, Matchers}

import com.karasiq.shadowcloud.model.{Folder, Timestamp}
import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, TestUtils}
import org.scalatest.{FlatSpec, Matchers}

class FolderTest extends FlatSpec with Matchers {
val folder = Folder(TestUtils.randomString, Timestamp(System.currentTimeMillis() - 1, System.currentTimeMillis() - 1))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package com.karasiq.shadowcloud.test.index

import scala.language.postfixOps

import akka.util.ByteString
import org.scalatest.{FlatSpec, Matchers}

import akka.util.ByteString
import com.karasiq.shadowcloud.storage.utils.IndexMerger.RegionKey
import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, TestUtils}
import com.karasiq.shadowcloud.utils.Utils
import org.scalatest.{FlatSpec, Matchers}

//noinspection RedundantDefaultArgument
class HashCodesTest extends FlatSpec with Matchers {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
package com.karasiq.shadowcloud.test.index

import scala.language.postfixOps

import org.scalatest.{Matchers, WordSpec}

import com.karasiq.shadowcloud.exceptions.SCExceptions
import com.karasiq.shadowcloud.index.FolderIndex
import com.karasiq.shadowcloud.index.diffs.{FolderIndexDiff, IndexDiff}
import com.karasiq.shadowcloud.model.{Folder, Path}
import com.karasiq.shadowcloud.storage.utils.IndexMerger
import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, TestUtils}
import org.scalatest.{Matchers, WordSpec}

class IndexMergerTest extends WordSpec with Matchers {
"Index" when {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
package com.karasiq.shadowcloud.test.serialization

import scala.io.Source
import scala.language.postfixOps

import akka.util.ByteString
import com.typesafe.config.Config
import org.scalatest.FlatSpecLike

import com.karasiq.shadowcloud.config.SCConfig
import com.karasiq.shadowcloud.index.diffs.IndexDiff
import com.karasiq.shadowcloud.model.{Chunk, File, Folder}
import com.karasiq.shadowcloud.serialization.{SerializationModule, SerializationModules}
import com.karasiq.shadowcloud.serialization.protobuf.index.SerializedIndexData
import com.karasiq.shadowcloud.serialization.{SerializationModule, SerializationModules}
import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, SCExtensionSpec, TestUtils}
import com.typesafe.config.Config
import org.scalatest.FlatSpecLike

import scala.io.Source

class SerializationModuleTest extends SCExtensionSpec with FlatSpecLike {
testModule("akka", SerializationModules.forActorSystem(system))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,15 @@ package com.karasiq.shadowcloud.test.storage

import java.nio.file.Files

import scala.language.postfixOps

import akka.stream.scaladsl.{Keep, Source}
import akka.stream.testkit.scaladsl.{TestSink, TestSource}
import akka.util.ByteString
import org.scalatest.FlatSpecLike

import com.karasiq.shadowcloud.model.Path
import com.karasiq.shadowcloud.storage._
import com.karasiq.shadowcloud.storage.repository.{KeyValueRepository, PathTreeRepository, RepositoryKeys}
import com.karasiq.shadowcloud.streams.utils.ByteStreams
import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, SCExtensionSpec, TestUtils}
import org.scalatest.FlatSpecLike

class RepositoryTest extends SCExtensionSpec with FlatSpecLike {
"In-memory repository" should "store chunk" in {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
package com.karasiq.shadowcloud.test.streams

import scala.language.postfixOps


import akka.stream.scaladsl.{Keep, Sink, Source}
import akka.stream.testkit.scaladsl.{TestSink, TestSource}
import akka.util.ByteString
import org.scalatest.FlatSpecLike

import com.karasiq.shadowcloud.model.{Checksum, Chunk, Data}
import com.karasiq.shadowcloud.streams.chunk.ChunkSplitter
import com.karasiq.shadowcloud.test.utils.{SCExtensionSpec, TestUtils}
import org.scalatest.FlatSpecLike

//noinspection ZeroIndexToHead
class ChunkSplitterTest extends SCExtensionSpec with FlatSpecLike {
Expand Down
Loading

0 comments on commit 92f47c3

Please sign in to comment.