Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
26 changes: 26 additions & 0 deletions .github/workflows/pr-testing.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,31 @@ jobs:
- name: rspec tests
run: rake spec

build:
name: build openvox-server
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
version: ['11', '17']
steps:
- name: checkout repo
uses: actions/checkout@v4
with:
submodules: recursive
- name: setup java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.version }}
- name: setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
- name: build it
run: bundle exec rake vox:build

clojure-linting:
name: Clojure Linting
runs-on: ubuntu-latest
Expand All @@ -100,6 +125,7 @@ jobs:
- clojure-tests
- rspec-tests
- clojure-linting
- build
runs-on: ubuntu-24.04
name: Test suite
steps:
Expand Down
17 changes: 11 additions & 6 deletions tasks/build.rake
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ require 'tmpdir'
@container = 'openvox-server-builder'
@timestamp = Time.now.strftime('%Y%m%d_%H%M%S')
# It seems like these are special files/names that, when you want to add a new one, require
# changes in some other component. But no, it seems to only really look at the parts of
# changes in some other component. But no, it seems to only really look at the parts of
# the text in the string, as long as it looks like "base-<whatever you want to call the platform>-i386.cow"
# and "<doesn't matter>-<os>-<osver>-<arch which doesn't matter because it's actually noarch>".
# I think it just treats all debs like Debian these days. And all rpms are similar.
# So do whatever you want I guess. We really don't need separate packages for each platform.
# So do whatever you want I guess. We really don't need separate packages for each platform.
# To be fixed one of these days. Relevant stuff:
# https://github.com/puppetlabs/ezbake/blob/aeb7735a16d2eecd389a6bd9e5c0cfc7c62e61a5/resources/puppetlabs/lein-ezbake/template/global/tasks/build.rake
# https://github.com/puppetlabs/ezbake/blob/aeb7735a16d2eecd389a6bd9e5c0cfc7c62e61a5/resources/puppetlabs/lein-ezbake/template/global/ext/fpm.rb
Expand Down Expand Up @@ -46,9 +46,14 @@ namespace :vox do
desc 'Build openvox-server packages with Docker'
task :build, [:tag] do |_, args|
begin
abort 'You must provide a tag.' if args[:tag].nil? || args[:tag].empty?
run_command("git fetch --tags && git checkout #{args[:tag]}")

#abort 'You must provide a tag.' if args[:tag].nil? || args[:tag].empty?
if args[:tag].nil? || args[:tag].empty?
puts 'running build with current branch'
else
puts "running build on #{args[:tag]}"
run_command("git fetch --tags && git checkout #{args[:tag]}")
end

# If the Dockerfile has changed since this was last built,
# delete all containers and do `docker rmi ezbake-builder`
unless image_exists
Expand Down Expand Up @@ -80,4 +85,4 @@ namespace :vox do
teardown
end
end
end
end