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
125 changes: 125 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: CI

on:
push:
branches: ['**']

jobs:
build:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 30

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Java 8 (OpenJDK 8)
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '8'

- name: Verify Java installation
run: |
export JRE_HOME=${JAVA_HOME}
echo "JAVA_HOME: $JAVA_HOME"
echo "JRE_HOME: $JRE_HOME"
java -version

- name: Download ant-contrib
run: |
mkdir -p ivy
curl -L -o ivy/ant-contrib-1.0b3.jar \
https://repo1.maven.org/maven2/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar

- name: Build with Ant
run: |
export JRE_HOME=${JAVA_HOME}
ant jar -Dhadoopversion=2 -Dhbaseversion=1

- name: Verify JAR was built
run: |
ls -la build/*.jar
ls -la *.jar || true

- name: Upload JAR as artifact
uses: actions/upload-artifact@v4
with:
name: pig-jar
path: |
build/pig-*.jar
pig-*.jar
retention-days: 30

deploy:
name: Deploy to JFrog
runs-on: ubuntu-latest
needs: build
if: github.ref == 'refs/heads/staging' || github.ref == 'refs/heads/master'

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Java 8 (OpenJDK 8)
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '8'

- name: Extract version from build.xml
id: version
run: |
# Extract pig.version and pig.version.suffix from build.xml
PIG_VERSION=$(grep -oP 'name="pig.version" value="\K[^"]+' build.xml)
PIG_SUFFIX=$(grep -oP 'name="pig.version.suffix" value="\K[^"]+' build.xml || echo "")
FULL_VERSION="${PIG_VERSION}${PIG_SUFFIX}"
echo "PIG_VERSION=${FULL_VERSION}" >> $GITHUB_ENV
echo "Detected version: ${FULL_VERSION}"

- name: Download ant-contrib
run: |
mkdir -p ivy
curl -L -o ivy/ant-contrib-1.0b3.jar \
https://repo1.maven.org/maven2/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar

- name: Build with Ant
run: |
export JRE_HOME=${JAVA_HOME}
ant jar -Dhadoopversion=2 -Dhbaseversion=1

- name: Setup JFrog CLI
uses: jfrog/setup-jfrog-cli@v4
env:
JF_URL: https://xplenty.jfrog.io
JF_USER: ${{ secrets.JFROG_USERNAME }}
JF_PASSWORD: ${{ secrets.JFROG_PASSWORD }}

- name: Configure JFrog CLI
run: |
jf config add xplenty-artifactory \
--url=https://xplenty.jfrog.io/artifactory \
--user=${{ secrets.JFROG_USERNAME }} \
--password=${{ secrets.JFROG_PASSWORD }} \
--interactive=false

- name: Deploy to staging
if: github.ref == 'refs/heads/staging'
run: |
# Upload the pig JAR to the correct path structure
jf rt upload \
"build/pig-23-withouthadoop-*.jar" \
"sharelib-stg/common/pig-23-withouthadoop/${PIG_VERSION}/" \
--server-id=xplenty-artifactory \
--flat=true

- name: Deploy to production
if: github.ref == 'refs/heads/master'
run: |
# Upload the pig JAR to the correct path structure
jf rt upload \
"build/pig-23-withouthadoop-*.jar" \
"sharelib/common/pig-23-withouthadoop/${PIG_VERSION}/" \
--server-id=xplenty-artifactory \
--flat=true
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,10 @@ pig-withouthadoop.jar
*.crc
# Mac finder artifacts
.DS_Store


# Build artifacts
lib/
legacy/
pig-*.jar
${output.jarfile.withouthadoop-h2}
12 changes: 6 additions & 6 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@
<property file="${basedir}/build.properties" />

<!-- name and version properties -->
<property name="name" value="pig" />
<property name="name" value="pig-23-withouthadoop" />
<property name="Name" value="Pig" />
<property name="ant-task.version" value="2.0.10" />
<property name="pig.pom" value="${basedir}/ivy/pig.pom" />
<property name="pigsmoke.pom" value="${basedir}/ivy/pigsmoke.pom" />
<property name="pigunit.pom" value="${basedir}/ivy/pigunit.pom" />
<property name="piggybank.pom" value="${basedir}/ivy/piggybank.pom" />
<property name="pig.version" value="0.17.0" />
<property name="pig.version.suffix" value="-SNAPSHOT" />
<property name="pig.version" value="0.17.1" />
<property name="pig.version.suffix" value="-parquet-pig-bundle-1.9.0" />
<property name="version" value="${pig.version}${pig.version.suffix}" />
<property name="final.name" value="${name}-${version}" />
<property name="year" value="2007-2017" />
Expand Down Expand Up @@ -69,7 +69,7 @@
<property name="javac.debug" value="on" />
<property name="javac.optimize" value="on" />
<property name="javac.deprecation" value="off" />
<property name="javac.version" value="1.7" />
<property name="javac.version" value="1.8" />
<property name="javac.args" value="" />
<condition property="javac.args.warnings" value="-Xmaxwarns 1000000 -Xlint -Xlint:-deprecation" else="-Xmaxwarns 1000000">
<isset property="all.warnings" />
Expand All @@ -84,7 +84,7 @@

<!-- jar names. TODO we might want to use the svn reversion name in the name in case it is a dev version -->
<property name="output.jarfile.withouthadoop" value="${build.dir}/${final.name}-withouthadoop.jar" />
<property name="output.jarfile.withouthadoop-h2" value="${legacy.dir}/${final.name}-withouthadoop-h2.jar" />
<property name="output.jarfile.withouthadoop-h2" value="${legacy.dir}/${final.name}.jar" />
<property name="output.jarfile.core" value="${build.dir}/${artifact.pig.jar}" />
<property name="output.jarfile.core-h2" value="${build.dir}/${artifact.pig-h2.jar}" />
<property name="output.jarfile.sources" value="${build.dir}/${artifact.pig-sources.jar}" />
Expand Down Expand Up @@ -247,7 +247,7 @@

<property name="asfrepo" value="https://repository.apache.org"/>
<property name="asfsnapshotrepo" value="${asfrepo}/content/repositories/snapshots"/>
<property name="mvnrepo" value="http://repo2.maven.org/maven2"/>
<property name="mvnrepo" value="https://repo1.maven.org/maven2"/>
<property name="asfstagingrepo" value="${asfrepo}/service/local/staging/deploy/maven2"/>
<property name="staging_repo_id" value="apache.staging.https"/>
<property name="snapshots_repo_id" value="apache.snapshots.https"/>
Expand Down
2 changes: 1 addition & 1 deletion ivy.xml
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@

<dependency org="org.mockito" name="mockito-all" rev="${mockito.version}" conf="test->default"/>

<dependency org="com.twitter" name="parquet-pig-bundle" rev="${parquet-pig-bundle.version}" conf="compile->master"/>
<dependency org="org.apache.parquet" name="parquet-pig-bundle" rev="${parquet-pig-bundle.version}" conf="compile->master"/>

<!-- for Spark integration -->
<dependency org="org.apache.spark" name="spark-core_2.11" rev="${spark.version}" conf="spark->default">
Expand Down
4 changes: 2 additions & 2 deletions ivy/libraries.properties
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ checkstyle.version=4.2
ivy.version=2.2.0
jasper.version=6.1.14
groovy.version=2.4.5
guava.version=11.0
guava.version=23.0
hadoop-common.version=2.7.3
hadoop-hdfs.version=2.7.3
hadoop-mapreduce.version=2.7.3
Expand Down Expand Up @@ -91,7 +91,7 @@ jansi.version=1.9
asm.version=3.3.1
snappy-java.version=1.1.1.3
tez.version=0.7.0
parquet-pig-bundle.version=1.2.3
parquet-pig-bundle.version=1.9.0
snappy.version=0.2
leveldbjni.version=1.8
curator.version=2.6.0
Expand Down

This file was deleted.

Loading