Skip to content

Commit

Permalink
Replace TravisCI with GitHub actions (#597)
Browse files Browse the repository at this point in the history
* test github actions.

* adding install4j packaging to github actions workflow.

* add code signing to CI.

* get rid of spurious dollar sign.

* try again.

* fix paths to certs.

* packaging directory doesn't exist until checkout, duh.

* upload packages as separate artifacts.

* fix indentation.

* adding release step to CI workflow.

* remove travisci stuff and update README.
  • Loading branch information
benanhalt committed Feb 25, 2020
1 parent a94097d commit b16f48f
Show file tree
Hide file tree
Showing 8 changed files with 152 additions and 60 deletions.
138 changes: 138 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
name: Specify 6 CI

on: [push]

jobs:
build:
runs-on: ubuntu-latest

steps:

- uses: actions/checkout@v2

- name: Unbase64 code signing certs
run: |
echo $MAC_PKCS12 | base64 -d > packaging/expdevidapp.p12
echo $WIN_PKCS12 | base64 -d > packaging/certwithroot.pfx
env:
WIN_PKCS12: ${{ secrets.WIN_PKCS12 }}
MAC_PKCS12: ${{ secrets.MAC_PKCS12 }}

- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8

- name: Compile Specify 6
run: ant -noinput -buildfile build.xml compile-nonmac

- name: Compile Specify 6 for Mac
run: ant -noinput -buildfile build.xml compile-mac

- name: Get Install4j from cache
id: cache-install4j
uses: actions/cache@v1
with:
path: install4j7.0.7
key: install4j7.0.7-cache

- name: Download Install4j
if: steps.cache-install4j.outputs.cache-hit != 'true'
run: |
wget https://download-keycdn.ej-technologies.com/install4j/install4j_unix_7_0_7.tar.gz
tar -zxvf install4j_unix_7_0_7.tar.gz
- name: Set Install4j license
run: install4j7.0.7/bin/install4jc --license=$INSTALL4J_LICENSE
env:
INSTALL4J_LICENSE: ${{ secrets.INSTALL4J_LICENSE }}

- name: Package Specify 6
run: >
ant -noinput -buildfile build.xml -Dinstall4j.dir=./install4j7.0.7
-Dwin-keystore-password=$WIN_KEYSTORE_PASSWORD -Dmac-keystore-password=$MAC_KEYSTORE_PASSWORD
-Dwin.pkcs12=certwithroot.pfx -Dmac.pkcs12=expdevidapp.p12 -Dcode.signing=true
package-all
env:
WIN_KEYSTORE_PASSWORD: ${{ secrets.WIN_KEYSTORE_PASSWORD }}
MAC_KEYSTORE_PASSWORD: ${{ secrets.MAC_KEYSTORE_PASSWORD }}

- name: Upload Specify_windows_64.exe as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_windows_64.exe
path: packages/external/Specify_windows_64.exe

- name: Upload Specify_windows.exe as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_windows.exe
path: packages/external/Specify_windows.exe

- name: Upload Specify_unix_64.sh as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_unix_64.sh
path: packages/external/Specify_unix_64.sh

- name: Upload Specify_unix.sh as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_unix.sh
path: packages/external/Specify_unix.sh

- name: Upload Specify_macos.dmg as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_macos.dmg
path: packages/external/Specify_macos.dmg

- name: Upload Specify_windows_Internal_64.exe as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_windows_Internal_64.exe
path: packages/internal/Specify_windows_Internal_64.exe

- name: Upload Specify_windows_Internal.exe as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_windows_Internal.exe
path: packages/internal/Specify_windows_Internal.exe

- name: Upload Specify_unix_Internal.sh as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_unix_Internal.sh
path: packages/internal/Specify_unix_Internal.sh

- name: Upload Specify_macos_Internal.dmg as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_macos_Internal.dmg
path: packages/internal/Specify_macos_Internal.dmg

- name: Upload Specify_unix_Internal_64.sh as artifact
uses: actions/upload-artifact@v1
with:
name: Specify_unix_Internal_64.sh
path: packages/internal/Specify_unix_Internal_64.sh

- name: Upload updates.xml as artifact
uses: actions/upload-artifact@v1
with:
name: updates.xml
path: packages/external/updates.xml

- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
draft: true
prerelease: true
files: |
packages/internal/Specify*
packages/external/Specify*
packages/external/updates.xml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

48 changes: 0 additions & 48 deletions .travis.yml

This file was deleted.

20 changes: 11 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Specify 6

[![Build Status](https://travis-ci.org/specify/specify6.svg?branch=master)](https://travis-ci.org/specify/specify6)
![Build Status](https://github.com/specify/specify6/workflows/Specify%206%20CI/badge.svg)

The Specify Collections Consortium is funded by
its member institutions and by an award from the US NSF
Expand Down Expand Up @@ -116,13 +115,16 @@ ant package-all \
```
## Automated Builds

This repository is equiped with automated builds using *Travis
CI*. All commits pushed to the repository will result in test
builds. If a commit is tagged and pushed the repository, a GitHub
*prerelease* with the name of the tag will be automatically created
and have the build output packages attached. These include both the
internal (filenames ending with `BETA`) and external (plain filenames)
installer packages.
This repository is equiped with automated builds using *GitHub
actions*. All commits pushed to the repository will result in test
builds that can be found under the [actions
tab](https://github.com/specify/specify6/actions) with downloadable
package artifacts for testing that persist for 90 days. If a commit is
tagged and pushed the repository, a GitHub *draft prerelease* with the
name of the tag will be automatically created and have the build
output packages attached. These include both the internal (filenames
ending with `Internal`) and external (plain filenames) installer
packages.

## Proposed Release Process (starting with v6.7.00)

Expand Down
2 changes: 1 addition & 1 deletion packaging/5-mac-full.install4j
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<install4j version="7.0.6" transformSequenceNumber="4">
<directoryPresets config="../InstallerFiles/images" />
<application name="Specify" distributionSourceDir="" applicationId="5397-6897-2502-8965" mediaDir="../MacMedia" mediaFilePattern="${compiler:sys.shortName}_${compiler:sys.platform}_${compiler:sys.version}_Beta" compression="6" lzmaCompression="false" pack200Compression="false" excludeSignedFromPacking="true" commonExternalFiles="false" createMd5Sums="true" shrinkRuntime="false" shortName="Specify" publisher="Biodiversity Research Center, University of Kansas" publisherWeb="http://www.specifysoftware.org" version="6.7.00" allPathsRelative="true" backupOnSave="true" autoSave="true" convertDotsToUnderscores="true" macSignature="????" installerName="" javaMinVersion="1.8" allowBetaVM="false" jdkMode="runtimeJre" jdkName="">
<application name="Specify" distributionSourceDir="" applicationId="5397-6897-2502-8965" mediaDir="../MacMedia" mediaFilePattern="${compiler:sys.shortName}_${compiler:sys.platform}_Internal" compression="6" lzmaCompression="false" pack200Compression="false" excludeSignedFromPacking="true" commonExternalFiles="false" createMd5Sums="true" shrinkRuntime="false" shortName="Specify" publisher="Biodiversity Research Center, University of Kansas" publisherWeb="http://www.specifysoftware.org" version="6.7.00" allPathsRelative="true" backupOnSave="true" autoSave="true" convertDotsToUnderscores="true" macSignature="????" installerName="" javaMinVersion="1.8" allowBetaVM="false" jdkMode="runtimeJre" jdkName="">
<languages skipLanguageSelection="false" languageSelectionInPrincipalLanguage="false">
<principalLanguage id="en" customLocalizationFile="./localization_en.utf8" />
<additionalLanguages>
Expand Down
2 changes: 1 addition & 1 deletion packaging/5-winlin-full-64.install4j
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<install4j version="7.0.6" transformSequenceNumber="4">
<directoryPresets config="../InstallerFiles/images" />
<application name="Specify" distributionSourceDir="" applicationId="5397-6897-2502-8965" mediaDir="../Media" mediaFilePattern="${compiler:sys.shortName}_${compiler:sys.platform}_${compiler:sys.version}_Beta_64" compression="6" lzmaCompression="false" pack200Compression="false" excludeSignedFromPacking="true" commonExternalFiles="false" createMd5Sums="true" shrinkRuntime="false" shortName="Specify" publisher="Biodiversity Research Center, University of Kansas" publisherWeb="http://www.specifysoftware.org" version="6.7.00" allPathsRelative="true" backupOnSave="true" autoSave="true" convertDotsToUnderscores="true" macSignature="????" installerName="" javaMinVersion="1.8" allowBetaVM="false" jdkMode="runtimeJre" jdkName="">
<application name="Specify" distributionSourceDir="" applicationId="5397-6897-2502-8965" mediaDir="../Media" mediaFilePattern="${compiler:sys.shortName}_${compiler:sys.platform}_Internal_64" compression="6" lzmaCompression="false" pack200Compression="false" excludeSignedFromPacking="true" commonExternalFiles="false" createMd5Sums="true" shrinkRuntime="false" shortName="Specify" publisher="Biodiversity Research Center, University of Kansas" publisherWeb="http://www.specifysoftware.org" version="6.7.00" allPathsRelative="true" backupOnSave="true" autoSave="true" convertDotsToUnderscores="true" macSignature="????" installerName="" javaMinVersion="1.8" allowBetaVM="false" jdkMode="runtimeJre" jdkName="">
<languages skipLanguageSelection="false" languageSelectionInPrincipalLanguage="false">
<principalLanguage id="en" customLocalizationFile="./localization_en.utf8" />
<additionalLanguages>
Expand Down
2 changes: 1 addition & 1 deletion packaging/5-winlin-full.install4j
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<install4j version="7.0.6" transformSequenceNumber="4">
<directoryPresets config="../InstallerFiles/images" />
<application name="Specify" distributionSourceDir="" applicationId="5397-6897-2502-8965" mediaDir="../Media" mediaFilePattern="${compiler:sys.shortName}_${compiler:sys.platform}_${compiler:sys.version}_Beta" compression="6" lzmaCompression="false" pack200Compression="false" excludeSignedFromPacking="true" commonExternalFiles="false" createMd5Sums="true" shrinkRuntime="false" shortName="Specify" publisher="Biodiversity Research Center, University of Kansas" publisherWeb="http://www.specifysoftware.org" version="6.7.00" allPathsRelative="true" backupOnSave="true" autoSave="true" convertDotsToUnderscores="true" macSignature="????" installerName="" javaMinVersion="1.8" allowBetaVM="false" jdkMode="runtimeJre" jdkName="">
<application name="Specify" distributionSourceDir="" applicationId="5397-6897-2502-8965" mediaDir="../Media" mediaFilePattern="${compiler:sys.shortName}_${compiler:sys.platform}_Internal" compression="6" lzmaCompression="false" pack200Compression="false" excludeSignedFromPacking="true" commonExternalFiles="false" createMd5Sums="true" shrinkRuntime="false" shortName="Specify" publisher="Biodiversity Research Center, University of Kansas" publisherWeb="http://www.specifysoftware.org" version="6.7.00" allPathsRelative="true" backupOnSave="true" autoSave="true" convertDotsToUnderscores="true" macSignature="????" installerName="" javaMinVersion="1.8" allowBetaVM="false" jdkMode="runtimeJre" jdkName="">
<languages skipLanguageSelection="false" languageSelectionInPrincipalLanguage="false">
<principalLanguage id="en" customLocalizationFile="./localization_en.utf8" />
<additionalLanguages>
Expand Down
Binary file removed packaging/certwithroot.pfx.gpg
Binary file not shown.
Binary file removed packaging/expdevidapp.p12.gpg
Binary file not shown.

0 comments on commit b16f48f

Please sign in to comment.