mirror of
https://github.com/a2geek/cc65-pipeline.git
synced 2024-09-28 14:54:53 +00:00
Compare commits
No commits in common. "master" and "2018-03-17" have entirely different histories.
master
...
2018-03-17
@ -1,73 +0,0 @@
|
||||
# Working notes for pushing images to Docker Hub
|
||||
|
||||
> Note: It appears that the personal accounts on Docker Hub no longer automatically build based on a Github repository being tagged. (Maybe they never did as it's been 4 years!)
|
||||
|
||||
## Login
|
||||
|
||||
```bash
|
||||
$ docker login
|
||||
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
|
||||
Username: a2geek
|
||||
Password:
|
||||
WARNING! Your password will be stored unencrypted in /home/rob/.docker/config.json.
|
||||
Configure a credential helper to remove this warning. See
|
||||
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
|
||||
|
||||
Login Succeeded
|
||||
```
|
||||
|
||||
## Built and Tag
|
||||
|
||||
This created the `latest` tag:
|
||||
|
||||
```bash
|
||||
$ docker build -t a2geek/cc65-pipeline .
|
||||
Sending build context to Docker daemon 135.2kB
|
||||
Step 1/5 : FROM alpine:latest
|
||||
---> e7d92cdc71fe
|
||||
Step 2/5 : LABEL description="This is a cc65 Docker container intended to be used for build pipelines."
|
||||
<snip>
|
||||
---> 207cf150f1f0
|
||||
Step 3/5 : ENV BUILD_DIR="/tmp" CC65_VERSION="V2.19" NULIB2_VERSION="v3.1.0" AC_VERSION="1.7.0" BASTOOLS_VERSION="0.3.1" ASU_VERSION="1.2.1"
|
||||
<snip>
|
||||
---> 06228100af88
|
||||
Step 4/5 : COPY bin /usr/local/bin
|
||||
<snip>
|
||||
---> 0e009844ebc9
|
||||
Step 5/5 : RUN a bunch of stuff
|
||||
<snip>
|
||||
---> 78d59c93b46b
|
||||
Successfully built 78d59c93b46b
|
||||
Successfully tagged a2geek/cc65-pipeline:latest
|
||||
```
|
||||
|
||||
... and this tagged it with the date:
|
||||
|
||||
```bash
|
||||
$ docker tag 78d59c93b46b a2geek/cc65-pipeline:2022-03-06
|
||||
```
|
||||
|
||||
Check:
|
||||
|
||||
```bash
|
||||
$ docker images
|
||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||
a2geek/cc65-pipeline 2022-03-06 78d59c93b46b 31 minutes ago 238MB
|
||||
a2geek/cc65-pipeline latest 78d59c93b46b 31 minutes ago 238MB
|
||||
<none> <none> 8c7e891250c4 38 minutes ago 238MB
|
||||
```
|
||||
|
||||
## Push to Docker Hub:
|
||||
|
||||
```bash
|
||||
$ docker push a2geek/cc65-pipeline
|
||||
The push refers to repository [docker.io/a2geek/cc65-pipeline]
|
||||
d2d7d7253122: Pushed
|
||||
e3169423110d: Pushed
|
||||
5216338b40a7: Mounted from a2geek/concourse-image
|
||||
2022-03-06: digest: sha256:48ab14d15ca474c1e28913e133a5edf2f30853a14936b27936772562cbb665f0 size: 947
|
||||
d2d7d7253122: Layer already exists
|
||||
e3169423110d: Layer already exists
|
||||
5216338b40a7: Layer already exists
|
||||
latest: digest: sha256:48ab14d15ca474c1e28913e133a5edf2f30853a14936b27936772562cbb665f0 size: 947
|
||||
```
|
27
Dockerfile
27
Dockerfile
@ -3,15 +3,14 @@ FROM alpine:latest
|
||||
LABEL description="This is a cc65 Docker container intended to be used for build pipelines."
|
||||
|
||||
ENV BUILD_DIR="/tmp" \
|
||||
CC65_VERSION="V2.19" \
|
||||
CC65_VERSION="V2.17" \
|
||||
NULIB2_VERSION="v3.1.0" \
|
||||
AC_VERSION="1.9.0" \
|
||||
BASTOOLS_VERSION="0.4.0" \
|
||||
ASU_VERSION="1.2.2"
|
||||
AC_RELEASE="v1-4-0" \
|
||||
AC_VERSION="1.4.0"
|
||||
|
||||
COPY bin /usr/local/bin
|
||||
|
||||
RUN apk add --no-cache build-base binutils && \
|
||||
RUN apk add --no-cache build-base && \
|
||||
echo "Building CC65 ${CC65_VERSION}" && \
|
||||
cd ${BUILD_DIR} && \
|
||||
wget https://github.com/cc65/cc65/archive/${CC65_VERSION}.tar.gz && \
|
||||
@ -32,26 +31,14 @@ RUN apk add --no-cache build-base binutils && \
|
||||
./configure && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "Adding AppleCommander" && \
|
||||
wget https://github.com/AppleCommander/AppleCommander/releases/download/${AC_RELEASE}/AppleCommander-ac-${AC_VERSION}.jar && \
|
||||
mkdir -p /usr/local/share/java && \
|
||||
echo "Adding AppleCommander 'ac'" && \
|
||||
wget https://github.com/AppleCommander/AppleCommander/releases/download/${AC_VERSION}/AppleCommander-ac-${AC_VERSION}.jar && \
|
||||
mv AppleCommander-ac-${AC_VERSION}.jar /usr/local/share/java/AppleCommander-ac.jar && \
|
||||
echo "Adding AppleCommander 'acx'" && \
|
||||
wget https://github.com/AppleCommander/AppleCommander/releases/download/${AC_VERSION}/AppleCommander-acx-${AC_VERSION}.jar && \
|
||||
mv AppleCommander-acx-${AC_VERSION}.jar /usr/local/share/java/AppleCommander-acx.jar && \
|
||||
echo "Adding bastools 'bt'" && \
|
||||
wget https://github.com/AppleCommander/bastools/releases/download/v${BASTOOLS_VERSION}/bastools-tools-bt-${BASTOOLS_VERSION}.jar && \
|
||||
mv bastools-tools-bt-${BASTOOLS_VERSION}.jar /usr/local/share/java/bastools-bt.jar && \
|
||||
echo "Adding bastools 'st'" && \
|
||||
wget https://github.com/AppleCommander/bastools/releases/download/v${BASTOOLS_VERSION}/bastools-tools-st-${BASTOOLS_VERSION}.jar && \
|
||||
mv bastools-tools-st-${BASTOOLS_VERSION}.jar /usr/local/share/java/bastools-st.jar && \
|
||||
echo "Adding applesingle 'asu'" && \
|
||||
wget https://github.com/AppleCommander/applesingle/releases/download/v${ASU_VERSION}/applesingle-tools-asu-${ASU_VERSION}.jar && \
|
||||
mv applesingle-tools-asu-${ASU_VERSION}.jar /usr/local/share/java/applesingle-asu.jar && \
|
||||
echo "Cleaning up" && \
|
||||
cd ${BUILD_DIR} && \
|
||||
rm -rf * && \
|
||||
apk del --no-cache build-base && \
|
||||
echo "Adding other required build-tools exclusive of other C compilers!" && \
|
||||
apk add --no-cache make openjdk11-jre && \
|
||||
apk add --no-cache make openjdk8-jre && \
|
||||
chmod +x /usr/local/bin/*
|
||||
|
20
README.md
20
README.md
@ -1,10 +1,12 @@
|
||||
# cc65 build agent
|
||||
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/a2geek/cc65-pipeline)](https://github.com/a2geek/cc65-pipeline/releases)
|
||||
[![Docker Image Version (latest by date)](https://img.shields.io/docker/v/a2geek/cc65-pipeline?label=docker)](https://hub.docker.com/r/a2geek/cc65-pipeline/)
|
||||
|
||||
This Docker image is intended to be used in a build pipeline to build
|
||||
6502/65c02/65816 projects. It is based on
|
||||
[Alpine Linux](https://alpinelinux.org/).
|
||||
6502/65c02/65816 projects. It is simply a blend of
|
||||
[Alpine Linux](https://alpinelinux.org/) and
|
||||
[cc65](http://cc65.github.io/cc65/).
|
||||
|
||||
In an effort to keep the image small, it currently only contains (beyond the base
|
||||
Alpine Linux Docker image) `make` and `cc65`.
|
||||
|
||||
Note that most tools are installed into `/usr/local` in some capacity and
|
||||
configured to be executed from there. You can always run `docker run -it a2geek/cc65-pipeline /bin/sh`
|
||||
@ -20,16 +22,8 @@ to submit a pull request!
|
||||
## Apple II
|
||||
|
||||
* [NuLib2](http://nulib.com/) to support creation of ShrinkIt archives.
|
||||
* [cc65](http://cc65.github.io/cc65/) for C and assembly projects.
|
||||
* [AppleCommander](https://applecommander.github.io/) to support creation of disk
|
||||
images. The following utilities are included:
|
||||
* [ac](https://applecommander.github.io/ac/) to manipulate disk images.
|
||||
* [acx](https://applecommander.github.io/acx/) to manipulate disk images (alternate to 'ac').
|
||||
* [bt](https://github.com/AppleCommander/bastools/blob/master/tools/bt/README.md) to transform an AppleSoft program from text back to its tokenized state.
|
||||
* [st](https://github.com/AppleCommander/bastools/blob/master/tools/st/README.md) is a utility to manage AppleSoft shape tables.
|
||||
* [asu](https://github.com/AppleCommander/applesingle/blob/master/tools/asu/README.md) to support manipulation of AppleSingle files.
|
||||
* From the Alpine packages:
|
||||
* [binutils](https://www.gnu.org/software/binutils/)
|
||||
images.
|
||||
|
||||
# Samples
|
||||
|
||||
|
2
bin/acx
2
bin/acx
@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
java -jar /usr/local/share/java/AppleCommander-acx.jar "${@}"
|
2
bin/asu
2
bin/asu
@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
java -jar /usr/local/share/java/applesingle-asu.jar "${@}"
|
Loading…
Reference in New Issue
Block a user